2 回答

TA贡献1869条经验 获得超4个赞
您已经将一个对象传递给dispatch()并且没有什么可以阻止您添加 apayload和type:
dispatch({
type: saved ? "save" : "unsave",
payload: reviews,
});
这样您就可以访问您的减速器 ( ) 中的评论action.payload。
const reducer = (state, action) => {
// action has `type` and `payload` properties
}

TA贡献1854条经验 获得超8个赞
当您调用该dispatch方法时,您将传递一个具有该type字段的对象。这个对象的格式实际上是由你来定义的。如果您需要传递以外的参数也type可以随意这样做。
例如
const reviews = {....} ; /// reviews
dispatch({ type: 'save', payload: reviews });
然后在你的减速器中你可以得到payload对象
// Reducer
const reducer = (state, action) => {
switch (action.type) {
case 'save':
const reviews = action.payload;
//.....
break;
}
}
添加回答
举报