当请求出现异常时,action.payload中没有值,对应的值是在action.error中

来源:10-8 【redux-toolkit】sotre配置(configureStore)与异步处理(createAsyncThunk)

修斯锋丶

2022-12-22

当请求出现异常时,action.payload中没有值,对应的值是在action.error中,所以原先的fetchFail方法不适用,这种情况下是改fetchFail,还是有其他的处理,这里没明白,课程中也没有看到对应的说明图片描述

写回答

1回答

浅芷初夏

2023-01-30

你想想 fulfilled 的时候为什么 action.payload 有值,因为 return 了数据;

异常的时候,RTK工具只是对之后要执行的代码块进行选择(就像 switch 中做一次 case),但并没有帮你捕获错误(无 return / throw 任何数据或错误);

以上是我个人对 RTK 这个工具集的理解,你可以试一试在请求成功时不 return ,action.payload 也是空的;

RTK 工具并不是完美的,当异步 action 变多的时候,你的 extraReducers 也会越来越臃肿,在浏览器上有一行提示: 在 RTK2.0 的版本将移除 extraReducers 它。


0
1
修斯锋丶
非常感谢!
2023-02-02
共1条回复

React18 系统精讲 结合TS打造旅游电商平台

React18 精讲 + 结合 TS 实战 + 热门业务开发,获取必备技能

1993 学习 · 1015 问题

查看课程