我在运行submitHandler函数时尝试在createProductReview动作中传递两个参数,一个是id,另一个是包含两个项目的object,问题是我无法在createProductReview动作中传递对象,在reducer函数中控制台记录时给出undefine,我想知道如何传递这两个参数而不出错。请检查随附的图像是否有错误
提交处理程序****函数
const submitHandler = (e) => {
e.preventDefault();
dispatch(createProductReview({ id, { rating, comment } }));
};
创建产品审阅
export const createProductReview = createAsyncThunk(
'reviewProduct',
async ({ productId, review }, thunkAPI) => {
console.log(productId, review);
try {
const {
userLogin: { userInfo },
} = thunkAPI.getState();
const config = {
headers: {
'Content-Type': 'application/json',
Authorization: `Bearer ${userInfo.token}`,
},
};
await axios.post(`/api/products/${productId}/reviews`, review, config);
} catch (error) {
const newError =
error.response && error.response.data.message
? error.response.data.message
: error.message;
return thunkAPI.rejectWithValue(newError);
}
}
);
1条答案
按热度按时间yx2lnoni1#
在javascript中,你需要给对象传递键,所以它应该是这样的
特别是,当你在函数中解构它的时候,因为解构是通过获取对象及其键来实现的。
例如: