无法向州政府发送数据
2021-07-16
57
我一直试图通过观看有关 Redux 的教程,在自己创建的电影应用中添加添加收藏夹的功能,但出于某种原因,状态始终为空。
这是我的操作和 Reducer 的样子
Reducers
const initState = {
favourites: [],
};
const favouriteReducer = (state = initState, action) => {
switch (action.type) {
case "ADD_FAVOURITE":
return {
...state,
favourites: action.payload.favourites,
};
default:
return { ...state };
}
};
export default favouriteReducer;
actions
export const favouriteActions = () => {
return {
type: "ADD_FAVOURITE",
payload: "zz",
};
};
操作已分派并显示在 redux dev 工具中,但没有任何内容添加到我创建的收藏夹状态。
我将此 onclick 事件设置为明星图像,实际上我想在该图像上传递电影的 ID, 我可以访问 该电影,来自另一个状态。
const addFav = () => {
dispatch(favouriteActions(id));
};
reutrn{
<img src={favNot} onClick={addFav} />
}
我只是在这里发布我的组件文件的主要部分。我还附加了一张图片,显示了我点击图片后的当前状态。
3个回答
return {
...state,
favourites: action.payload.favourites,
};
只需要“action.payload”或者如果你想要像数组这样的收藏夹应该改变reducer:
favourites:[...state.favourites,action.payload]
Steve Phan
2021-07-16
您在 Reducer 中使用了
case "ADD_FAVOURITE":
但在实际操作中,类型为
type: "ADD_FAVOURITES",
这可能是原因吗?
Niraj Niroula
2021-07-16
export const favouriteActions = () => {
return {
type: "ADD_FAVOURITE",
favourites: "zz",
};
};
请检查以上内容是否有效。将“playload”改为“favourites”
Kavitha K T
2021-07-16