TodoMVC

Usage

Clone this repository:

git clone https://github.com/traveloka/soya-next.git
cd soya-next/examples/todomvc

Install and run it:

npm install
npm start

Open http://localhost:3000arrow-up-right in your browser.

How It Works

This example is exactly the same as Redux TodoMVCarrow-up-right. The only difference is that you need not to worry about unregistered reducers anymore and they're automatically code-splitted.

To make it works, wrap every page with createPage() as follows:

import { createPage } from 'soya-next';

const reducers = {
  uniqueName(state, action) {
    return state;
  },
};

const Page = () => {};

Page.getIntialProps = ({ store }) => {
  // you can dispatch any actions here
  // store.dispatch(actionCreator());

  // or get current store state
  // store.getState()
};

export default createPage(mapStateToProps, mapDispatchToProps)(Page, reducers);

To use it in your component, you can do the following:

Note: ensure each reducers has unique name within your application

Last updated