Shi*_*il 95

Redux 曾经很棒,但如果您没有尝试过它们,我强烈建议使用 Redux-Toolkit。我可能希望你坚持使用 redux 的唯一情况是当你使用基于类的组件时,Redux Toolkit 确实有一些样板文件(如 Redux),你可能会错过像样的支持。

然而,对于功能组件来说,Redux 工具包就像是增强版的 Redux。

使用Redux工具包的原因:

  1. 与 Redux 相比,所需的样板代码要少得多。

  2. Redux hooksuseSelector使useDispatch事情变得如此简短且易于使用。[这并不是 Redux 工具包特有的,但是,在这里强调它,因为在功能组件中使用这些钩子非常有帮助,并且可能对那些完全不熟悉 Redux 的人有帮助]

  3. 您不需要进行手动thunk设置,因为 redux-toolkit 是开箱即用的 createAsyncThunk,这使您能够以非常轻松的方式执行异步操作。

  4. getState对于获取任何操作或异步操作的状态变量也非常有帮助。

  5. 可变性可能被认为是优点或缺点,但如果您不太习惯使用扩展运算符进行编写,您可能也会喜欢这个功能。直接进行分配,让 redux 工具包处理幕后的可变性。

  6. current可以用来在任何地方记录您的状态,以防您想要调试并了解哪里出了问题。(当然,Redux 调试器工具也很棒)

  7. 预构建模板:您可能想要使用npx create-react-app my-app --template redux-typescript或者如果您将其与 next: 一起使用yarn create next-app --example with-redux with-redux-app。它为您提供了一个准备就绪的redux toolkit样板,还包含最重要的 redux 状态管理应用程序的样板,以便您可以参考它们轻松创建自己的切片。

我一直在使用大量的 redux,最初它有点令人困惑,但是一旦你对 redux 工具包有了很好的掌握,并且如果你使用了大量的功能组件,你可能永远不会再回到 redux 了。

  • 一项更正:Redux Toolkit 与 `useSelector`、`useDispatch` 或 `connect` 无关。对于 React,使用 Redux 或 Redux Toolkit 没有区别。这是在这两种情况下都必须使用的单独的“react-redux”包。两者的区别在于非 React 相关代码的数量和安全性。 (13认同)
  • 由于原因 #2,useSelector 和 useDispatch 也可以在没有工具包的情况下使用。 (10认同)

phr*_*hry 18

Redux Toolkit 是您自 2019 年以来编写的所有 Redux 代码的官方推荐。请参阅有关此内容的 Redux 样式指南以及为什么 Redux Toolkit 是今天如何使用 Redux

我建议您按照Redux 主页上的官方 Redux“Essentials”教程开始学习 Redux - 这将从头开始教您 Redux Toolkit。