react redux toolkit异步函数
时间: 2023-11-10 20:05:05 浏览: 176
react 异步加载例子
在使用React Redux Toolkit时,异步函数可以使用createAsyncThunk方法进行定义和处理。createAsyncThunk接收两个参数,第一个参数是thunk函数的名称,第二个参数是一个包含三个属性的对象:`promise`、`fulfilled`和`rejected`。
`promise`属性是一个返回Promise对象的函数,它会在thunk函数被调用时被执行。`fulfilled`属性是一个处理成功的回调函数,它会在Promise对象被成功解决时被调用。`rejected`属性是一个处理失败的回调函数,它会在Promise对象被拒绝时被调用。
例如,下面是一个使用createAsyncThunk定义异步函数的例子:
``` javascript
import { createAsyncThunk } from '@reduxjs/toolkit'
import { fetchUsers } from './api'
export const getUsers = createAsyncThunk(
'users/getUsers',
async () => {
const response = await fetchUsers()
return response.data
}
)
```
在上面的例子中,我们定义了一个名为`getUsers`的thunk函数,并使用`createAsyncThunk`方法来定义它。`fetchUsers`是一个外部API调用,返回一个Promise对象。在我们的thunk函数中,我们使用`await`关键字来等待Promise对象的解决,并返回收到的数据。
接下来,我们可以在Redux中使用我们定义的异步函数,例如:
``` javascript
import { getUsers } from './usersSlice'
dispatch(getUsers())
```
在上面的代码中,我们使用Redux的`dispatch`方法来调用异步函数`getUsers`。这将触发异步函数的执行,并在Promise对象被解决时触发`fulfilled`回调函数。我们可以使用Redux Toolkit中的`createSlice`方法来定义我们的reducer,并根据需要处理`fulfilled`和`rejected`回调函数。
阅读全文