inspired by redux, vuex and choo
import reo from 'reo'
const app = reo()
app.use( plugin )
app.model( ... )
app.actions( ... )
app.getters( ... )
app.router( ... )
app.start( '#app' )
import reo from 'reo'
const app = reo()
app.model( {
name: 'counter',
state: { count: 0 },
reducers: {
add( state ) {
state.count++
},
minus( state ) {
state.count--
}
}
} )
app.getters( {
count: state => state.counter.count
} )
app.actions( {
add( { commit } ) {
commit( 'counter/add' )
},
minus( { commit } ) {
commit( 'counter/minus' )
}
} )
const Counter = {
getters: {
c: 'count'
},
template: `
<button on-click="{ this.dispatch( 'minus' ) }">-</button>
{ c }
<button on-click="{ this.dispatch( 'add' ) }">+</button>
`,
}
app.router( {
routes: [
{ path: '/', component: Counter }
]
} )
app.start( '#app' )
MIT © fengzilong