Vanilla 场景下,所有的 API 请从 /vanilla
导入。
创建一个带有初始状态的 store
。
store
可以是全局的,也可以是局部的,这取决于你的需求。
如何你需要调试,可以使用 devtools
来启用 Redux DevTools Extension 支持,详情参考 与 Redux DevTools 集成。
订阅 store
以在状态变更时获得通知。
直接修改 store.mutate
对象来更新 store
中的状态。
如果只是为了读取状态,可以在遵循 immutable
原则的情况下,直接读取 store.mutate
对象即可。
上述方式覆盖大多数情况,如果你实在需要获取快照,可以使用 store.snapshot()
。
如果需要,你也可以通过 store.restore()
轻松地恢复到初始状态,比如在停止、重置逻辑时,重置状态。
store.restore()
中使用了较新的 structuredClone API,如果有需要,请考虑添加一个 polyfill。