Redux Toolkit 是什么?🔨
目录
简介
Redux Toolkit 包含哪些功能?
RTK 查询
RTK 查询包含哪些功能?
总结
介绍
Redux Toolkit 包被开发为编写 Redux 代码的新标准方式,处理有关 Redux 本身的三个主要问题......
- “配置 Redux 存储太复杂了”
- “我必须添加很多包才能让 Redux 做任何有用的事情”
- “Redux 需要太多样板代码”
这些问题取自Redux ToolKit 文档,您可以在其中进一步阅读。
需要注意的一点是,Redux 为我们提供了强大的数据获取和缓存功能。这样就无需自己创建执行相同逻辑的函数了。
使用 Redux 时,Redux Toolkit 并非必需,但我们建议使用,因为它能让您的代码更简洁、更易于维护,同时加快开发速度。该软件包适用于任何技能水平,可在开始、中间或结尾处添加。如果您计划将来使用 Redux Toolkit 软件包,我建议您在 React/Redux 应用程序中使用它,这样可以简化流程。
Redux Toolkit 包含什么?
Redux Toolkit 包含以下 API...创建这些 API 是为了提供逻辑并避免重复。
-
- 包装 createStore 以提供简化的配置选项和良好的默认值。它可以自动组合你的切片 Reducer,添加你提供的任何 Redux 中间件,默认包含 redux-thunk,并支持使用 Redux DevTools 扩展。
-
- 允许你向 case reducer 函数提供操作类型的查找表,而无需编写 switch 语句。此外,它会自动使用 immer 库,让你可以使用常规的可变代码编写更简单的不可变更新,例如 state.todos[3].completed = true
-
- 为给定的动作类型字符串生成一个动作创建函数。该函数本身定义了 toString() 方法,因此可以代替类型常量使用。
-
- 接受一个 Reducer 函数对象、一个切片名称和一个初始状态值,并自动生成一个具有相应动作创建者和动作类型的切片 Reducer。
-
- 接受一个动作类型字符串和一个返回承诺的函数,并生成一个根据该承诺分派待处理/已完成/已拒绝的动作类型的 thunk。
-
- 生成一组可重复使用的减速器和选择器来管理存储中的规范化数据。
-
- 来自 Reselect 库的实用程序,重新导出以方便使用。
RTK查询
RTK Query 是 Redux 工具包的一个可选附加组件。它旨在减轻程序员的工作负担,解决数据获取和缓存的用例。RTK Query 是一个紧凑而强大的工具集,用于为您的应用定义 API 接口层。
该工具集基于 Redux Toolkit 构建,并在其内部使用 Redux 作为其架构。RTK 查询提供了额外的全局存储管理功能。为了进一步了解 RTK 查询,建议您安装 Redux DevTools 浏览器扩展。然后,您可以检查并重放请求和缓存在执行过程中的行为。
RTK Query 已包含在 Redux Toolkit 包中。您只需添加以下代码即可:
import { createApi } from '@reduxjs/toolkit/query'
/* React-specific entry point that automatically generates
hooks corresponding to the defined endpoints */
import { createApi } from '@reduxjs/toolkit/query/react'
RTK 查询包含什么?
-
- RTK Query 功能的核心。它允许您定义一组端点,描述如何从一系列端点检索数据,包括如何获取和转换该数据的配置。在大多数情况下,您应该每个应用使用一次此功能,并遵循“每个基本 URL 一个 API 切片”的经验法则。
-
- fetch 的一个小包装器,旨在简化请求。建议大多数用户在 createApi 中使用 baseQuery。
-
- 如果您还没有 Redux 存储,可以将其用作提供程序。
-
- 用于启用 refetchOnMount 和 refetchOnReconnect 行为的实用程序。
您可以在 Redux Toolkit 文档中找到更多关于RTK 查询的信息。但 RTK 查询的主要要点是……
- 使你的代码干燥。
- 您无需重新创建逻辑,从而节省时间和资源。
- 它可以创建更清洁、更高效的代码。
结论
Redux Toolkit 附带许多工具,可以帮您节省代码行数、时间并避免各种麻烦。但它的用途和优势在科技界引起了争议。对于一些用户来说,这个工具包非常有用,并且符合上述所有要点。然而,有些人发现它需要大量的样板代码,只会让事情变得更加混乱。想要真正了解它,唯一的方法就是亲自使用 Redux Toolkit!市面上有很多教程讲解如何使用该工具包创建小型或大型应用程序。目前尚不清楚 Redux Toolkit 是编程的又一潮流,还是会持续流行……但我们不妨趁热打铁!
鏂囩珷鏉ユ簮锛�https://dev.to/maxinejs/what-is-redux-toolkit-b94