【发布时间】:2020-10-12 13:58:50
【问题描述】:
这些不应该做同样的事情吗?第一个代码 sn -p 导致我的组件重新渲染
const context = React.useContext(myContext);
const { arr, setArr } = context;
const addItem = (item) => {
arr[0].subArr.push(item);
setArr([...arr]);
}
但这不是
const context = React.useContext(myContext);
const { arr, setArr } = context;
const addItem = (item) => {
arr[0].subArr.push(item);
setArr(arr);
}
setArr 只是从 React.useState() 中提取的,我没有构建任何自定义功能
【问题讨论】:
-
第一个是新数组引用,第二个是当前状态数组引用。它们都是状态突变。 React 使用浅层对象相等来区分。
标签: reactjs react-hooks react-context