Skip to main content

useFlatInject

可以将一个 store 里的不同内容,扁平导出的 hook。

(该命名可由用户自行决定)

创建

该函数由flatInjectHookCreater工厂函数创建。

export const useFlatInject = flatInjectHookCreater(stores, reduxStore);

用法

const { title, setTitle } = useFlatInject("appStore");

参数

  • storeName (string): 必需参数,指定要访问的状态库的名称。

  • stateKeys (string[]): 可选参数,指定需要使用的状态集合的数组。如果未提供该参数,将默认返回整个状态库的状态。

返回值

该函数返回指定状态库中请求的状态集合。如果未提供 stateKeys 参数,则返回整个状态库的状态。

tip

如果不考虑性能,那么可以不用指定stateKeys,直接全量依赖,解构取得你想要的内容,状态库如果拆分的足够合理,完全可以。

但是如果依赖外部状态库的部分内容,比如公用类型的appStore或者其他业务状态库,那么非常建议指定依赖的内容,这样可以很好的控制刷新粒度,good 写法~