Antd表未重新呈现

时间:2020-01-15 05:04:32

标签: javascript reactjs antd

当我的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 :(得分:0)

在反应中,比较以前的状态。

因此,在不更改引用的情况下修改数组不会触发渲染。

  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