因此,我的setData如下所示:
type Data = {
tempId: string,
...
};
const [data: Data, setData: Data] = useState(() => {
const data: Data = {
};
for (const [key, value] of formData) {
if (key !== 'tempId') {
data[key] = value;
}
}
return data;
});
然后我打电话给
setData({tempId: 'some_id', ...data});
然而,tempId显示为从未设置过,并且为null。我不知道为什么会发生这种情况-有什么想法吗?
1条答案
按热度按时间o7jaxewo1#
useState接受一个初始值,在你的例子中是
data
的值。你传递的函数不会像你想象的那样运行。你可能会寻找类似这样的东西:然后,您将调用
updateData({tempId: 'some_id', ...data});
而不是setData({tempId: 'some_id', ...data});