定义了下面的这个字段,以及修改和传递给子组件的代码:
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]);即可