Redux 开发者必须知道的 15 个技巧

Redux 是一种用于管理 JavaScript 应用程序状态的流行框架。它是一个可预测的状态容器,具有以下优点:

  • 单一的可信来源
  • 可扩展性和可维护性
  • 易于测试

在这篇文章中,我们将会介绍 Redux 开发者必须知道的 15 个技巧,以帮助您更好地使用 Redux 构建前端应用。

技巧 1:不要在 Redux 中进行所有事情

Redux 应该被视为应用程序状态的管理器,而不是用于处理所有逻辑的神经中枢。您应该将业务逻辑和组件状态留给组件或其他工具来处理。

例如,行为可能只是启动请求,而不是处理 API 数据的详细过程。将请求处理成一个单独的 API 函数,并将数据返回到 Redux state 中。

技巧 2:使用 Redux Toolkit

Redux Toolkit 是一个用于简化 Redux 开发的官方工具包,它提供了许多有用的工具和强制实践来加速开发和解决常见的问题。

Redux Toolkit 为您提供了许多实用功能,例如:

  • createSlice:使用少量样板代码创建带有类型检查的 reducer。
  • createAsyncThunk:为副作用操作(如 API 调用)自动生成 Redux actions。

技巧 3:使用 Redux DevTools 执行时间旅行

Redux DevTools 不仅是一个能够记录 Redux state 和 actions 的强大工具,还允许您在应用程序中“旅行”。因此,在调试或查找问题时,为了更好地了解应用程序的状态,您应该安装它,并使用它。

技巧 4:将 Redux 引入到应用程序中的第一个步骤

Redux 应该是您应用程序的第一个安装,因为它对整个应用程序的状态进行管理。任何依赖于该状态的其他插件/库都应该知道 Redux。

技巧 5:避免冗余的操作

Redux 的性能取决于 reducer 中所采取的操作和操作的数量。因此,您应该避免在 state 中留下任何冗余操作。

例如,如果您正在从中删除一些元素的数组中的元素,请勿使用 splice() 函数。而是从新数组中使用 filter() 函数来删除元素。

技巧 6:在 reducer 中使用 switch 语句

Redux 通常通过 switch 来处理多个类型的 actions,从而增加了可扩展性并减少了代码量。

技巧 7:利用第三方中间件

中间件使您能够更高效地处理诸如异步和文件上传之类的交互,并且 Chrome、Firefox 等等已经支持了这些中间件。

许多流行的中间件(例如 redux-thunk、redux-saga 和 redux-observable)都是您可以使用的。

技巧 8:将 selector 放在 reducer 之外

如果您希望缓存某些数据或计算派生状态,则需要选择器。selector 可以被视为用于从 state 中选择数据的函数。它们具有可重用性,并允许您从 state 中提取所需的数据。

由于选择器是普通函数,它们可以在 component、saga 或任何地方使用,所以我们将其与 reducer 分开通常会使代码更具可读性。

技巧 9:不要在 reducer 中修改 state

如刚刚所述,不要在 reducer 中修改 state。因为 state 是不可变对象,否则您的应用程序将变得不可预测。

相反,一定要返回新的 state。这可以通过 JavaScript 的 Object.assign() 或扩展运算符来轻松实现。

技巧 10:编写测试优先的代码

Redux 对测试友好,因此编写测试优先的代码通常有助于执行此操作。

有许多测试库可供您使用,例如 Jest 或 Mocha,来测试 Redux 应用程序中的 reducer 和 action。

技巧 11:Redux 的单向数据流

Redux 的数据流是一种比其他框架(如 React)更严格的单向数据流。这意味着流程只能流向组件,并防止状态变化的不良影响。

正因为如此,您应该明确地了解每个 action dispatch 的结果,以便将其传递到容器组件,写入 Redux state 或者执行其他操作。

技巧 12:避免在 actions 中传递对象

尽可能避免在 action 中传递对象。相反,最好传递可序列化的数据类型,如数字和字符串。

这是因为 Redux DevTools 在记录和进行时间旅行时需要使用可序列化的数据类型,以防止任何未知错误。

技巧 13:不要跳过 Redux

如果需要管理应用程序的状态,则不要跳过 Redux。尽管有其他更新的库(如 React Context 或 mobx-state-tree),但 Redux 仍然是管理您应用程序状态的最佳方式之一。

技巧 14:知道何时使用 Redux

虽然 Redux 可以很容易地处理全局状态,但对于简单的应用程序,例如表单、导航或少量的 API 调用,则可能不需要使用 Redux。

总之,您应该了解何时使用 Redux,以及它在您的应用程序中的作用。

技巧 15:充分利用 TypeScript

使用 TypeScript 可以强制执行类型检查和更清晰的代码结构,这在 Redux 应用程序中非常有用。

如果您正在使用 TypeScript,那么需要注意的一件事是要在状态中定义适当的类型,并确保在 reducer 中使用适当的类格式。

结论

在 Redux 应用程序中,遵循这些技巧将使代码变得更加清晰且易于维护。基于自己的实践,不断学习以及探索人工智能,您可以更好地利用 Redux,以为您和您的团队构建更好的应用程序提供指导和支持!

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/672dcc50eedcc8a97c85f81b


纠错
反馈