基本信息
文件名称:编程课件-10_Redux的使用详解(二).pdf
文件大小:1.07 MB
总页数:17 页
更新时间:2025-02-13
总字数:约4.78千字
文档摘要

Redux的使用详解(二)

王红元coderwhy

目录1认识ReduxToolkit

content

2ReduxToolkit重构

3ReduxToolkit异步

4connect高阶组件

5中间件的实现原理

6React状态管理选择

coderwhy认识ReduxToolkit

?ReduxToolkit是官方推荐的编写Redux逻辑的方法。

?在前面我们学习Redux的时候应该已经发现,redux的编写逻辑过于的繁琐和麻烦。

?并且代码通常分拆在多个文件中(虽然也可以放到一个文件管理,但是代码量过多,不利于管理);

?ReduxToolkit包旨在成为编写Redux逻辑的标准方式,从而解决上面提到的问题;

?在很多地方为了称呼方便,也将之称为“RTK”;

?安装ReduxToolkit:

npminstall@reduxjs/toolkitreact-redux

?ReduxToolkit的核心API主要是如下几个:

?configureStore:包装createStore以提供简化的配置选项和良好的默认值。它可以自动组合你的slicereducer,添加你提供

的任何Redux中间件,redux-thunk默认包含,并启用ReduxDevToolsExtension。

?createSlice:接受reducer函数的对象、切片名称和初始状态值,并自动生成切片reducer,并带有相应的actions。

?createAsyncThunk:接受一个动作类型字符串和一个返回承诺的函数,并生成一个pending/fulfilled/rejected基于该承诺分

派动作类型的thunk

coderwhy重构代码–创建counter的reducer

?我们先对counter的reducer进行重构:通过createSlice创建一个slice。

?createSlice主要包含如下几个参数:

?name:用户标记slice的名词

?在之后的redux-devtool中会显示对应的名词;

?initialState:初始化值

?第一次初始化时的值;

?reducers:相当于之前的reducer函数

?对象类型,并且可以添加很多的函数;

?函数类似于redux原来reducer中的一个case语句;

?函数的参数:

?参数一:state

?参数二:调用这个action时,传递的action参数;

?createSlice返回值是一个对象,包含所有的actions;

coderwhy重构代码–创建home的reducer

coderwhystore的创建

?configureStore用于创建store对象,常见参数如下:

?reducer,将slice中的reducer可以组成一个对象传入此处;

?middleware:可以使用参数,传入其他的中间件(自行了解);

?devTools:是否配置devTools工具,默认为true;

coderwhyReduxToolkit的异步操作

?在之前的开发中,我们通过redux-thunk中间件让dispatch中可以进行异步操作。

?ReduxToolkit默认已经给我们继承了Thunk相关的功能:createAsyncThunk

?当createAsyncThunk创建出来的action被dispatch时,会存在三种状态:

?pending:action被发出,但是还没有最