@reduxjs/toolkit中异步请求方式:
1.最会普通标准的使用方式:
导入createAsyncThunk组件
创建一个异步请求函数
一共有两个参数:
第一个是命名空间和Slice里一样,千万不要重复啊,要不然都不知道使用的哪个!
第二个参数是一个异步函数,我这里用的是axios。
cnpm install -S axios,然后再上方导入即可使用
之后就是有一个关键点了:
再Slice里在reducers下加入一个extraReducers,照着模板写就可以了,记得给action上一个any类型(Ts模板才需要),因为网络请求谁知道是什么类型呢,就给个万能吧。
之后再所需要的地方用useEffect钩子来调用即可
简化一下就是extraReducers可以传一个对象进去:
这里可以定义三个状态就是promise的三种状态,开始,成功,失败:
第二种就是平常熟悉使用方法了:
创建一个函数,这个函数里面调用异步函数返回请求数据,记得用try catch包裹起来,要不然有问题就崩了!
这个使用也是导入,然后使用的地方依旧是用useEffect来调用,和上面一样。
哪一种更合适你呢?
这就是今天的分享练习了。
有问题可以下方评论一起讨论!
觉得还行的话给个赞也是感激不尽的!!!