我的问题是我应该使用哪个? Redux Toolkit 可以替代 Redux 核心吗?
Redux 曾经很棒,但如果您没有尝试过它们,我强烈建议使用 Redux-Toolkit。我希望你坚持使用 redux 的唯一情况是当你使用基于类的组件时,Redux Toolkit 确实有一些样板文件(如 Redux),你可能会错过像样的支持。
然而,对于功能组件,Redux 工具包就像是增强版的 Redux。
使用Redux工具包的原因:
与 Redux 相比,所需的样板代码要少得多。
像
useSelector
和 useDispatch
这样的 Redux 钩子让事情变得如此简短且易于使用。 [这并不是 Redux 工具包特有的,但是,在这里强调它,因为在功能组件中使用这些钩子非常有帮助,并且可能对那些完全不熟悉 Redux 的人有帮助]
您不需要进行手动
thunk
设置,因为 redux-toolkit 是开箱即用的 createAsyncThunk
,这使您能够以非常轻松的方式执行异步操作。
getState
对于获取任何操作或异步操作的状态变量也非常有帮助。
可变性可能被认为是优点或缺点,但如果您不太习惯使用扩展运算符进行编写,您可能也会喜欢这个功能。直接进行赋值,让 redux 工具包处理底层的可变性。
current
可用于在任何地方记录您的状态,以防您想要调试并了解哪里出了问题。 (当然,Redux 调试器工具也很棒)
预建模板:您可能想要使用
npx create-react-app my-app --template redux-typescript
,或者如果您将其与下一个一起使用:yarn create next-app --example with-redux with-redux-app
。它为您提供了一个准备就绪的redux toolkit
样板,并且还包含最重要的 redux 状态管理应用程序的样板,以便您可以参考它们非常轻松地创建自己的切片。
我一直在使用大量的 redux,最初它有点令人困惑,但是一旦你很好地掌握了 redux 工具包,并且如果你使用了大量的功能组件,你可能永远不会再回到 redux 了。
Redux Toolkit 是您自 2019 年以来编写的所有 Redux 代码的官方推荐。请参阅有关此的 Redux 风格指南和为什么 Redux Toolkit 是今天如何使用 Redux。
我建议您按照 Redux 主页上的官方 Redux“Essentials”教程开始学习 Redux - 这将从头开始教您 Redux Toolkit。