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);