mirror of
https://github.com/terribleplan/next.js.git
synced 2024-01-19 02:48:18 +00:00
5d8ae4456e
improve the example so that it can preserve unstated from server to client unstated
29 lines
581 B
JavaScript
29 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()
|