Данные дублируются, а вывод отображается два раза. Возможно распространение ошибки - PullRequest
0 голосов
/ 09 января 2019

I only enter the values one time and its gets duplicated[1] Здесь выходные данные дублируются 2 раза, и я знаю, что это что-то в формате возврата. Как это можно исправить?

 export const addToDo = (state, action) => {
      console.log(">>>>>>>>>>>>>>>>>>>>>>>>>>");
      const { name, email, phone } = action;
      const tempTodo = state.data;
      console.log("====================================");

      return {
        data: [...tempTodo, { name: name, email: email, phone: phone }]
      };
    };

// Это для магазина

const mapDispatchToProps = dispatch => {
  return bindActionCreators(
    {
      addToDos: (name, email, phone) =>
        dispatch(toDoActions.addToDo(name, email, phone)),

      toggleToDo: (index, name, email, phone) =>
        dispatch(toDoActions.toggleToDo(index, name, email, phone))
    },
    dispatch
  );
};

// это кнопка при нажатии

onButtonClick()
{
this.props.addToDos(name, email, phone);
}

// экспорт редуктора

export const reducer = createReducer(INITIAL_STATE, {
  [Types.ADD_TO_DO]: addToDo,
});

1 Ответ

0 голосов
/ 09 января 2019

Попробуйте это:

export const addToDo = (state, action) => {
      console.log(">>>>>>>>>>>>>>>>>>>>>>>>>>");
      const { name, email, phone } = action;
      const tempTodo = state.data || [];
      console.log("====================================");
      let newData = tempTodo;
      const duplicate = tempTodo.find(todo => todo.name === name && todo.email === email && todo.phone ==== phone);
      if(!duplicate) {
        newData = [...tempTodo, { name: name, email: email, phone: phone }]
      }
      return {
        data: newData
      };
    };
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...