一个迷你状态管理库。
- 极简的API,易上手,不依赖前端框架;
- 利用immer.js实现 immutable state,摆脱麻烦且不可预期的对象和数组展开语法。
npm install nesta
yarn add nesta
import { createStore } from 'nesta'
const store = createStore({
data: {
pageData: [
{
id: 7,
name: 'sheva'
}
]
}
})
const prevState = store.getState()
store.put(state => {
state.data.pageData.push({
id: 22,
name: 'kaka'
})
})
const currentState = store.getState()
console.log('prevState: ', prevState)
console.log('currentState: ', currentState)
console.log('prevState === currentState: ,' prevState === currentState) // false
因为 nesta 并不依赖前端框架,如果你想在 react 中使用,请见 react-nesta