Antd Table не перерисовывается - PullRequest
0 голосов
/ 15 января 2020

Я пытаюсь перерисовать таблицу, чтобы показать «Tag», когда переключатели в моей таблице Antd включены. Я думаю, что с отображением таблицы что-то не так.

https://codesandbox.io/s/staging-star-0itd6

Любая помощь будет признательна.

  function onChange(checked) {
    const changeTable = tableData;
    if (changeTable[checked.key].switch === "") {
      changeTable[checked.key].switch = "Tag";
    } else {
      changeTable[checked.key].switch = "";
    }

    setTableData(changeTable);
    console.log(tableData);
  }

1 Ответ

0 голосов
/ 15 января 2020

В реакции предыдущее состояние сравнивается поверхностно.

Поэтому изменение массива без изменения ссылки не вызовет рендеринг.

  function onChange(checked) {
    const changeTable = tableData;
    if (changeTable[checked.key].switch === '') {
      changeTable[checked.key].switch = 'Tag';
    } else {
      changeTable[checked.key].switch = '';
    }

    //                  v Won't render
    // setTableData(changeTable);
    setTableData([...changeTable]);
  }

Edit hungry-jang-0oi9e

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