Reactjs React-Redux-操作失败,分析错误
我正在尝试学习react redux,并尝试创建一个简单的示例,使用带有get、delete和additems的购物列表 我举了一个例子,展示了如何使用get和delete项 我的问题是添加项的减速器 是相同的示例,但与减速器中的additem相同Reactjs React-Redux-操作失败,分析错误,reactjs,redux,react-redux,Reactjs,Redux,React Redux,我正在尝试学习react redux,并尝试创建一个简单的示例,使用带有get、delete和additems的购物列表 我举了一个例子,展示了如何使用get和delete项 我的问题是添加项的减速器 是相同的示例,但与减速器中的additem相同 case ADD_ITEM: return{ ...state, items: [...state.items, {id: uuid(), action.payload}] } 它在抱怨行动 我在本地得到的错误是 ./s
case ADD_ITEM:
return{
...state,
items: [...state.items, {id: uuid(), action.payload}]
}
它在抱怨行动
我在本地得到的错误是
./src/reducers/itemReducer.js
Line 26: Parsing error: Unexpected token, expected ","
24 | return{
25 | ...state,
> 26 | items: [...state.items, {id: uuid(), action.payload}]
| ^
27 | }
28 | default:
29 | return state
任何人都能看到我做错了什么。您正在使用以下语句创建对象
{id:uuid(),action.payload}
。您为第一个条目提供了一个密钥,但为第二个条目提供了一个密钥。查看items对象时,它需要name键
尝试将其更改为:
{id:uuid(),name:action.payload}
编辑您的操作:
export const addItem = (name) =>{
return{
type: ADD_ITEM,
payload: { name }
}
}
然后,编辑减速器:
export default function(state = initialState, action){
switch(action.type){
case GET_ITEMS:
return{
...state
}
case DELETE_ITEM:
return{
...state,
items: state.items.filter(item => item.id !== action.payload)
}
case ADD_ITEM:
return{
...state,
items: [...state.items, {...action.payload, id: uuid()}]
}
default:
return state
}
}
您可以指定错误吗?这是可行的,但现在添加项目时,文本不会显示My bad,您希望的键显示为name。我更新了答案。