P粉5233350262023-08-16 14:23:10
这是因为当您在控制台中调用或记录它时,您的状态尚未更新。您可以在useEffect
钩子中记录您的状态,以便在更新时查看它。以下是一个示例:
useEffect(() => { console.log("文件 >> ", selectedFile); }, [selectedFile]);
P粉7606754522023-08-16 14:11:16
我认为你的代码按预期工作,但是当你尝试调用它时,状态还没有被更新。
根据React官方文档:
set函数只会更新下一次渲染的状态变量。 如果在调用set函数之后读取状态变量,你仍然会得到在调用之前屏幕上的旧值。
现在,这是我的猜测,但你可以尝试添加这段代码:
setSelectedFile(file) setTimeout(() => { console.log(selectedFile); }, 5000);