I have posts a few articles on Meiosis, please read them if you are new to this pattern
Here is a use case for React.
You can test it here MeioisisReact
/*global React, ReactDOM, flyd, mergerino*/ const merge = mergerino; var Actions = (update) => { return { incr : () => update({ counter: (c) => c + 1 }) }} var initialState = { counter : 0 } var update = flyd.stream(); var states = flyd.scan(merge, initialState, update); var actions = Actions(update); var App = function ({ states, actions }) { var [init, setInit] = React.useState(false); var [state, setState] = React.useState(states()); // avoid infinit loop if (!init) { console.log("start") setInit(true); states.map((s) => setState(s)); } return ( <div> <h1>{state.counter}</h1> <button onClick = {actions.incr}>INC</button> </div> ); }; ReactDOM.render( <App states={states} actions={actions} />, document.getElementById("app") );
Top comments (0)