Почему значение возвращается к исходному значению после findIndex? - PullRequest
0 голосов
/ 26 апреля 2020

Привет. Я пытаюсь обновить стоимость предмета. данные об элементе поступают из избыточного магазина и отображаются на странице

Вот данные enter image description here

Итак, я сейчас попытаюсь отредактировать значение вещь. после редактирования сохраните в консоли значение. Вот код

const save = async (key) => {
  try {
    const row = await this.formRef.current.validateFields();
    // ============================ i change here ===============
    const newData = [...data];
    console.log(newData)
    const index = newData.findIndex((item) => key === item.key);
    // ============================ ===============
    console.log(index)
    console.log(newData)
    console.log(newData[index])
    // this.props.updateItem(newData[index])
    // ============================ ===============
    if (index > -1) {
      const item = newData[index];
      newData.splice(index, 1, { ...item, ...row });
      this.setState({
        data: newData,
        editingKey: "",
      });
    } else {
      newData.push(row);
      this.setState({
        data: newData,
        editingKey: "",
      });
    }
  } catch (errInfo) {
    console.log("Validate Failed:", errInfo);
  }
};

Как вы можете видеть, существует много console.log. Чтобы обновить элемент, мне нужно найти индекс элемента, который я обновил. Там вы можете видеть строку кода, которая находит индекс.

, когда я console.log newdata. Данные обновляются, но когда я консольный журнал (newData [индекс]) значения возвращаются к старому.

здесь это изображение

enter image description here

Может кто-нибудь сказать мне, почему значения возвращаются к старым. и как я могу исправить это поведение

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...