首页 > 建站教程 > 前端框架 >  react setState设置object不能刷新视图正文

react setState设置object不能刷新视图

我爱模板网在使用react开发项目时,需要设置一个object对象,并且传递到子组件:

定义了下面的这个字段,以及修改和传递给子组件的代码:
const [showColumn, setShowColumn] = useState(initialColumn);

function handelShowColumn(checkedValues) {
    let res = initialColumn;
    res.forEach(item => {
      item.checked = checkedValues.includes(item.value);
    });
    setShowColumn(res);
}

<ListTable
  loading={loading}
  showColumn={showColumn}
/>
然而,当调用handelShowColumn,对showColumn进行修改时,发现并没有效果,估计是object的深拷贝和浅拷贝导致的,改成:
setShowColumn([...res]);
即可