Задать вопрос
  • Почему редюсер вызывается два раза?

    @paoluccio
    но при создании функции отметки дела галочкой...

    у вас там ошибка, вы мутируете todo, что не есть хорошо...

    Должно быть:
    export const todoReducer = (state, action) => {
      switch (action.type) {
        // ...
        case "MARK_TODO":
          const newState = state.map(todo => {
            if (todo.id === action.id) {
              return { ...todo, status: !todo.status };
            }
            return todo;
          });
          return newState;
        // ...
      }
    };


    ...запускается будто "из воздуха".

    Будто любое действие кроме 'ADD_TODO' заранее проклято.


    Имя злодею - Strict Mode. Почитать можно тут.

    Если сильно раздражает - идёте в index.js и убираете обёртку над <App />.
    Ответ написан
    1 комментарий