在异步 API thunk 调用中传递参数,可以通过以下几种方式实现:
const myThunk = (param) => (dispatch) => {
// 在这里可以访问 param 参数
dispatch({ type: 'START' });
// 异步操作
asyncOperation(param)
.then((result) => {
dispatch({ type: 'SUCCESS', payload: result });
})
.catch((error) => {
dispatch({ type: 'ERROR', payload: error });
});
};
// 调用 thunk 函数,并传递参数
dispatch(myThunk(param));
const myThunk = (param) => (dispatch) => {
// 在这里可以访问 param 参数
dispatch({ type: 'START' });
// 异步操作
asyncOperation(param)
.then((result) => {
dispatch({ type: 'SUCCESS', payload: result });
})
.catch((error) => {
dispatch({ type: 'ERROR', payload: error });
});
};
// 调用柯里化函数,并传递参数,返回 thunk 函数
const thunkWithParam = myThunk(param);
// 调用 thunk 函数
dispatch(thunkWithParam);
const myThunk = (params) => (dispatch) => {
// 在这里可以访问 params 参数对象的属性
const { param1, param2 } = params;
dispatch({ type: 'START' });
// 异步操作
asyncOperation(param1, param2)
.then((result) => {
dispatch({ type: 'SUCCESS', payload: result });
})
.catch((error) => {
dispatch({ type: 'ERROR', payload: error });
});
};
// 调用 thunk 函数,并传递参数对象
dispatch(myThunk({ param1, param2 }));
以上是在异步 API thunk 调用中传递参数的几种常见方式。根据具体的业务需求和代码结构,选择适合的方式来传递参数。
没有搜到相关的文章