减速器中未定义初始变量

时间:2019-06-06 14:27:24

标签: javascript reactjs redux

我在这里声明了一个todos变量:

const initialState = {
  todos: []
};

export const todo = (state: RootState = initialState, action: Action) => {
  switch (action.type) {
    case TODO_ADD:
      return {
        todos: [...state.todos, action.payload.todo]
      };
    case TODO_TOGGLE_COMPLETE:
      const todos = [...state.todos];
      todos.forEach((todo: ToDo, index: number) => {
        if (todo.id === action.payload.id) {
          todos[index].isComplete = !todos[index].isComplete;
        }
      });
      return {
        todos
      };
    default:
      return state;
  }
};

但是不知道为什么总是说未定义

enter image description here

1 个答案:

答案 0 :(得分:1)

不幸的是,有时在已编译/已编译的代码中可能会发生这种情况(在您的情况下,是由tsc编译的代码)。源图很好,但并不完美。

遇到这种情况时,您可能不得不退后一步来调试底层生成的JavaScript,而不是使用源映射使它看起来像是在调试TypeScript代码。