localstate-react

0.2.0 • Public • Published

mvstate-react

A React HOC that make Mvstate and React a pleasure to use together

Mvstate can be a bit scary, at least if you are not familiar with functors. Mvstate-React provides you with a nice little HOC that allows you to express your React code more clearly. Let's look at an example:

// Model
export const create = () => ({counter: 1});
export const inc = ({counter}) => ({counter: counter + 1});
export const dec = ({counter}) => ({counter: counter - 1});

// Component
import {create, dec, inc} from './Model';

function Counter({refunc: {model, notify}}) {
    return (
        <div>
            <p>
                <strong>Counter is {model.counter}</strong>
            </p>
            <p>
                <button onClick={notify(dec)}>Decrement</button>
                <button onClick={notify(inc)}>Increment</button>
                <button onClick={notify(inc, dec, inc, dec)}>Silly button</button>
            </p>
        </div>
    );
}

export default observe(create(), Counter);

If you used Redux, you're probably already familiar with this pattern. "observe" will ensure that your component is updated every time notify is called.

Cheers, Peter Crona

Readme

Keywords

none

Package Sidebar

Install

npm i localstate-react

Weekly Downloads

1

Version

0.2.0

License

MIT

Last publish

Collaborators

  • petercrona