跳转到主文档
应用工程
模块工程
Monorepo工程
项目生成器

useStore

补充信息

默认情况下,本节所有 API 的导出包名为:@modern-js/runtime/model

如果是在 Modern.js 以外单独集成 Reduck,导出包名为:@modern-js-reduck/react

useStore 用于获取当前组件树共享的 Store。常用于在组件外访问 Model 的场景。注意,useStore 是一个 React Hook,只能在组件内使用。

类型

function useStore(): ReduckStore;

返回值

  • ReduckStore:Reduck Store,类型参考 createStore 返回值。

示例

// 保证 getStore 在组件树挂载完成后执行
setTimeout(() => {
const store = getStore();
const [, actions] = store.use(countModel);
setInterval(() => {
actions.add();
}, 1000);
}, 1000);

function Counter() {
const [state] = useModel(countModel);

return (
<div>
<div>counter: {state.value}</div>
</div>
);
}
更多参考