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。