【发布时间】:2018-12-07 16:21:11
【问题描述】:
在我的代码中,action.payload 指向 todo.index,因此我的 REMOVE_TODO 案例应该过滤掉一个与触发事件的索引相同的 todo。但是,我得到了语法错误。我弄乱了我的包装,甚至尝试从头开始重写它,但无法消除这些语法错误。有人看到我在这里缺少的东西吗? 请让我知道是否需要更多信息。谢谢大家!
import { ADD_TODO } from '../constants/action-types';
import { REMOVE_TODO } from '../constants/action-types';
const initialState = {
todos: []
};
const rootReducer = (state = initialState, action) => {
switch (action.type) {
case ADD_TODO:
return {
...state,
todos: [...state.todos, action.payload]
}
case REMOVE_TODO:
return {
...state,
todos: [...state.todos.filter((todo, i) => {i !== action.payload})]
}
default:
return state;
}
}
export default rootReducer;
【问题讨论】:
-
你会展示你遇到的错误吗?
-
是的,它在
=> {i !== action.payload})上的=>等号上,它表示预期会在箭头函数中返回一个值。在i !== action.payload上,它说期望一个赋值或函数调用,而不是看到一个表达式。`
标签: javascript syntax react-redux switch-statement case