1
0
Fork 0
mirror of https://github.com/terribleplan/next.js.git synced 2024-01-19 02:48:18 +00:00
next.js/examples/with-mobx/store.js
Florian Didron 13feb8855d Adds mobx example (#676)
* Adds mobx example

* Fix coding style to match JS Standard

* Removes unecessary link

* Update README.md

* Update README.md

* Change next version from beta to ^2.0.0-beta

* Assigns the store to a local var

* Adds navigation in the example

* Removes unecessary imports

* Fix coding style to match JS Standard

* Fix Clock import
2017-01-06 03:38:51 -08:00

33 lines
658 B
JavaScript

import { action, observable } from 'mobx'
let store = null
class Store {
@observable lastUpdate = 0
@observable light = false
constructor (isServer, lastUpdate) {
this.lastUpdate = lastUpdate
}
@action start = () => {
this.timer = setInterval(() => {
this.lastUpdate = Date.now()
this.light = true
})
}
stop = () => clearInterval(this.timer)
}
export function initStore (isServer, lastUpdate = Date.now()) {
if (isServer && typeof window === 'undefined') {
return new Store(isServer, lastUpdate)
} else {
if (store === null) {
store = new Store(isServer, lastUpdate)
}
return store
}
}