createAsyncThunk
时间: 2024-12-18 13:26:20 浏览: 4
`createAsyncThunk` 是 Redux Toolkit 提供的一种高级功能,它简化了异步操作的管理。这个函数帮助我们在 Redux 中创建自定义的 async action creators,这些 creators 可以处理整个异步流程,包括初始请求(pending状态),成功响应(fulfilled状态)和错误情况(rejected状态)。下面是如何使用它的简单示例:
1. 声明异步 action creator[^1]:
```javascript
// 异步获取帖子
export const GetPosts = createAsyncThunk(
"post/getPosts", // action type prefix
async () => { // 异步任务
return await axios.get(`${BASE_URL}/posts`);
}
);
// 创建帖子
export const CreatePost = createAsyncThunk(
"post/createPost",
async (post) => {
return await axios.post(`${BASE_URL}/post`, post);
}
);
```
在这个例子中,`GetPosts` 和 `CreatePost` 分别对应获取帖子和创建帖子的 API 调用。当调用这些 action creator 时,它们会自动触发一系列 Redux 的 action,比如在开始请求时发送一个表示正在进行(pending)的动作,接收到数据后发送一个包含结果的数据(fulfilled),如果请求失败则发送一个包含错误信息的拒绝动作(rejected)。
阅读全文