reo
v2.0.1
Published
regularjs and stateman based spa framework, inspired by dva and vuex
Downloads
67
Readme
reo
inspired by redux, vuex and choo
Overview
import reo from 'reo'
const app = reo()
app.use( plugin )
app.model( ... )
app.actions( ... )
app.getters( ... )
app.router( ... )
app.start( '#app' )
Real world example
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' )
License
MIT © fengzilong