createAsyncThunk
是Redux Toolkit中的一个函数,用于创建异步的thunk action。它可以接收两个参数:一个字符串类型的action类型和一个异步的回调函数。
在使用createAsyncThunk
创建thunk action时,可以通过在回调函数中返回一个对象来发送自定义参数。这个对象可以包含两个属性:payload
和extra
。
payload
属性用于传递需要发送的数据,可以是任意类型的值。extra
属性用于传递额外的参数,通常用于发送一些配置信息或者其他需要在回调函数中使用的数据。
下面是一个示例:
import { createAsyncThunk } from '@reduxjs/toolkit';
// 创建一个异步的thunk action
const fetchData = createAsyncThunk(
'data/fetch',
async (customParam, thunkAPI) => {
// 在回调函数中可以使用自定义参数
console.log(customParam);
// 在回调函数中可以使用extra参数
console.log(thunkAPI.extra);
// 执行异步操作,比如发送网络请求
const response = await fetch('https://api.example.com/data');
const data = await response.json();
// 返回的对象中的payload属性将作为action的payload
return data;
}
);
// 使用自定义参数调用thunk action
dispatch(fetchData('customParamValue'));
在上面的示例中,fetchData
是一个异步的thunk action,它接收一个自定义参数customParam
。在回调函数中,可以通过customParam
来访问这个自定义参数。
另外,如果需要在回调函数中使用额外的参数,可以通过在createAsyncThunk
函数的第二个参数中传递一个对象来设置extra
属性。在回调函数中,可以通过thunkAPI.extra
来访问这个额外的参数。
关于Redux Toolkit的更多信息,你可以参考腾讯云的产品文档:Redux Toolkit
领取专属 10元无门槛券
手把手带您无忧上云