rsnext/examples/with-unstated/containers/CounterContainer.js
tylim 5d8ae4456e improve with-unstated example (#5998)
improve the example so that it can preserve unstated from server to client unstated
2019-01-06 16:58:06 +01:00

28 lines
581 B
JavaScript

import { Container } from 'unstated'
export default class CounterContainer extends Container {
state = {
count: 0
}
increment = () => {
this.setState(state => ({ count: state.count + 1 }))
}
decrement = () => {
this.setState(state => ({ count: state.count - 1 }))
}
reset = () => {
this.setState({ count: 0 })
}
// this two methods are not setState as they work only before rendering
initState = count => {
this.state = { count }
}
resetState = () => {
this.initState(0)
}
}
export const counterStore = new CounterContainer()