【发布时间】:2021-05-07 22:03:29
【问题描述】:
我正在尝试更新本地状态的图像值,它可以正常工作,但是当我出于某种原因返回同一页面时,initialState 会保留以前的值。所以要解决这个问题,我必须单独分配值。我觉得不合适。让我知道我做错了什么。
初始化状态
const [values, setValues] = useState(initialState);
更新图片值
setValues((values) => {
const allUploadedFiles = values.images;
allUploadedFiles.push(data);
return { ...values, images: allUploadedFiles };
});
将状态更改为初始值
setValues({ ...values, images: [] });
initialState.images = [];
声明时初始状态的值
const initialState = {
images: []
}
【问题讨论】:
-
当您声明
values时,您的initialState设置是什么? -
@cpppatrick 问题已更新
-
当您更改状态时,我有 2 个观察结果。
setValues({ ...values, images: [] })应该足以更新状态,除非它是昂贵的计算。在这种情况下,状态可能会意外更新。你为什么要intialState.images=[]?这没有任何意义。
标签: javascript reactjs next.js