Skip to content

snowl/mobx-persist

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

36 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Mobx Persist

npm version

$ npm install mobx-persist --save

Usage

import { observable, asMap } from 'mobx'
import { create, persist   } from 'mobx-resist'

class SomeItem {
    @persist @observable  name = 'some'
    @persist @observable count = 0
}

class SomeStore {
    @persist('object') @observable         obj = { a: 1, b: 2 }
    @persist('map')    @observable   stringMap = asMap<string>({})
    @persist('list')   @observable     numList = [1,2,3,4]
    @persist('object', SomeItem) @observable s = new SomeItem
    @persist('map', SomeItem)    @observable m = asMap<SomeItem>({})
    @persist('list', SomeItem)   @observable l = []
}

const persistStore = create({
    storage: AsyncStorage // default localStorage
})

export const someStore = persistStore('some', new SomeStore)
const initialState = window.__STATE__.some || {
    obj: { a: 2, b: 1 }
}
export const someStore = persistStore('some', new SomeStore, initialState)

Examples

Dependency

About

persist mobx stores

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • TypeScript 62.7%
  • JavaScript 36.0%
  • HTML 1.3%