【发布时间】:2021-09-06 20:41:09
【问题描述】:
react native(react?)中有一个“陷阱”,如果您使用先前状态的数据更新状态,它不会识别状态更改,也不会重新渲染。有人可以提醒我解决此问题以在收到更新数据时重新呈现状态吗?
示例代码:应该重新渲染状态,但不会因为状态无法识别更改
const [images, setImages] = useState([]);
const addImage = async (data) => {
let oldImages = images;
oldImages.push({
url: data,
order: images.length + 1,
});
setImages(oldImages);
};
【问题讨论】:
-
这不是问题所在。问题是你不要推动,因为它会改变状态。您需要复制数组并使用全新的数组引用。
let oldImages = images仍在改变原始数组。
标签: javascript reactjs react-native