useFlatInject
可以将一个 store 里的不同内容,扁平导出的 hook。
(该命名可由用户自行决定)
创建
该函数由flatInjectHookCreater
工厂函数创 建。
export const useFlatInject = flatInjectHookCreater(stores, reduxStore);
用法
const { title, setTitle } = useFlatInject("appStore");
参数
-
storeName (string)
: 必需参数,指定要访问的状态库的名称。 -
stateKeys (string[])
: 可选参数,指定需要使用的状态集合的数组。如果未提供该参数,将默认返回整个状态库的状态。
返回值
该函数返回指定状态库中请求的状态集合。如果未提供 stateKeys 参数,则返回整个状态库的状态。
tip
如果不考虑性能,那么可以不用指定stateKeys
,直接全量依赖,解构取得你想要的内容,状态库如果拆分的足够合理,完全可以。
但是如果依赖外部状态库的部分内容,比如公用类型的appStore
或者其他业务状态库,那么非常建议指定依赖的内容,这样可以很好的控制刷新粒度,good 写法~