我的问题是我应该使用哪个?Redux Toolkit可以替代Redux核心吗?
我的问题是我应该使用哪个?Redux Toolkit可以替代Redux核心吗?
Redux曾经非常好用,但如果你还没有尝试过,我强烈推荐使用Redux-Toolkit。唯一的情况是,当你使用基于类的组件时,可能需要坚持使用Redux,因为Redux Toolkit会有些样板代码(就像Redux),而且你可能会错过很好的支持。
然而,对于函数式组件,Redux Toolkit就像是加强版的Redux。
使用Redux toolkit的原因:
相比Redux,所需的样板代码要少得多。
Redux钩子如useSelector
和useDispatch
让事情变得更简单和易于使用。[这不特定于Redux toolkit,但在此突出显示它,因为在函数式组件中使用这些钩子非常有帮助,并可能对完全新手的redux有所帮助]
你不需要手动设置thunk
,因为redux-toolkit自带一个createAsyncThunk
,可以方便地执行异步操作。
getState
也非常有用,在任何操作或异步操作中获取状态变量。
可变性可能被认为是优点或缺点,但如果你不太习惯使用展开运算符编写代码,你可能也会喜欢这个特性。直接赋值让redux toolkit在后台处理可变性。
current
可以用于在任何地方记录您的状态,以便在调试和理解出现问题的位置时使用。(当然,Redux调试工具也很不错)
预构建的模板:您可能希望使用npx create-react-app my-app --template redux-typescript
,或者如果您正在与next一起使用:yarn create next-app --example with-redux with-redux-app
。它为您提供了一个设置好的redux toolkit
样板,并包含大多数重要的Redux状态管理应用程序的样板,因此您可以轻松参考它们创建自己的slices。
我一直在使用很多Redux,最初有点困惑,但是一旦掌握了Redux toolkit并且使用了很多函数组件,您可能永远不会再回到Redux了。
useSelector
、 useDispatch
或connect
无关。在React方面,使用Redux或Redux Toolkit没有任何区别。这是你必须在两种情况下都使用的分离的react-redux
包。两者之间的区别在于非React相关代码的数量和安全性。 - phry自2019年以来,Redux Toolkit已成为所有Redux代码的官方推荐。请参阅Redux样式指南和为什么Redux Toolkit是如何使用Redux Today的。
我建议您通过遵循Redux主页上的官方Redux“基础知识”教程开始学习Redux - 从中您可以了解Redux Toolkit。