简介
@kwhitley/use-store
是一款基于React Hooks的npm包,用于全局状态管理。
安装
使用npm安装:
npm install @kwhitley/use-store --save
使用方法
创建Store
首先我们需要使用createStore
函数来创建一个全局store。可以在index.js
或者app.js
中调用createStore
方法:
-- -------------------- ---- ------- -- ------ ------ - ----------- - ---- ---------------------- ----- ------------ - - ----- - ----- ------ ---- -- - -- ------ ----- ----- - --------------------------
使用Store
接下来,我们可以在任何组件中使用store中的state和dispatch。
-- -------------------- ---- ------- ------ ----- ---- -------- ------ - -------- - ---- ---------------------- ------ - ----- - ---- -------- -------- ---------- - ----- ------- --------- - ---------------- -------- ------------- - --------------- -------------- -------- ---------- - ------ - ----- ------------------------ ------- ---------------------------- ------------- ------ -- - ------ ------- ----
在上面的代码中,我们使用useStore
从全局store中获取了state和dispatch,然后在点击按钮时使用dispatch来修改state。
API文档
createStore(initialState)
- initialState (Object): 初始状态
创建store,并返回store
对象:
const store = createStore(initialState);
useStore(store)
- store (Object): createStore函数返回的store对象
从全局store中获取state和dispatch,返回一个数组:
const [state, disptach] = useStore(store);
示例代码
计时器
-- -------------------- ---- ------- ------ ------ - --------- --------- - ---- -------- ------ - ----------- - ---- ---------------------- ------ - -------- - ---- ---------------------- ----- ------------ - - ------ - -- ----- ----- - -------------------------- -------- ----- - ----- ------- --------- - ---------------- ----- ------- --------- - ---------------------- ------------ -- - ----- ----- - -------------- -- - --------------- -------------- -- ------ ------ -- -- --------------------- -- ------------ ------------ -- - ---------------------- -- --------------- ------ - ----- --------- ----------- ------ -- - ------ ------- ----
在这个示例中,我们可以看到如何创建一个带有initialState的全局store,并如何从中获取state和dispatch,使用dispatch来更新state,最后在组件中使用state来显示计数器的值。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/600672693660cf7123b36770