mvsplit-react

0.2.3 • Public • Published

mvsplit-react

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

Mvsplit can be a bit scary, at least if you are not familiar with functors. Mvsplit-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 mvsplit-react

Weekly Downloads

1

Version

0.2.3

License

MIT

Last publish

Collaborators

  • petercrona