gpt4 book ai didi

javascript - Redux:使用 compose() 或不使用它的 applyMiddleware 之间的区别?

转载 作者:行者123 更新时间:2023-12-04 01:15:27 26 4
gpt4 key购买 nike

我以前有过这样的经历:

  createStore(reducers, {}, applyMiddleware(reduxThunk));

刚刚在某处看到一段不同的代码,现在使用 compose 将我的代码更改为:

  createStore(reducers, {}, compose(applyMiddleware(reduxThunk)))

目前两者都运行良好。但是我不完全理解其中的区别。是我之前的错误吗?谁能给我解释一下?

最佳答案

“store enhancer”是一种特定类型的 Redux 插件,它包裹着一个 store 以赋予它额外的能力。

createStore 接受单个商店增强器作为参数,并使用它来自定义创建的商店。

这意味着如果您想同时使用多个 store enhancer,您需要一种方法以某种方式将它们组合成一个 store enhancer,以便您可以将其传递给 createStore.

applyMiddleware 是一个存储增强器,因此您可以直接使用它并将其结果作为唯一增强器传递给 createStore

如果你想使用多个增强器,比如applyMiddlewaredevTools,你需要使用compose() 将它们组合在一起。

请注意,您实际上应该使用 our official Redux Toolkit package , 其中有 a configureStore API只需一行代码即可为您正确设置 Redux 存储。

关于javascript - Redux:使用 compose() 或不使用它的 applyMiddleware 之间的区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63525198/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com