Javascript 设置数组状态时出现问题,丢失第一个位置

Javascript 设置数组状态时出现问题,丢失第一个位置,javascript,reactjs,Javascript,Reactjs,我有一个通过道具接收阵列的函数。我需要以组件状态保存此数组,因此我的组件如下所示: ... const [mediaIds, setMediaIds] = useState(); ... function mediaChange (mediaArray){ console.log(mediaArray); setMediaIds(mediaArray); console.log(mediaIds); } 在第一个console.log中,我打印通过道具到达的数组,在第

我有一个通过道具接收阵列的函数。我需要以组件状态保存此数组,因此我的组件如下所示:

...
const [mediaIds, setMediaIds] = useState();
...

function mediaChange (mediaArray){
    console.log(mediaArray);
    setMediaIds(mediaArray);
    console.log(mediaIds);
}
在第一个console.log中,我打印通过道具到达的数组,在第二个中,我打印已经更改的状态

问题是它似乎跳过了数组的第一个位置,下面我将显示我的console.log。第一个是mediaArray,第二个是MediaID:

[2, 3]
[2]

[2, 3, 7]
[2, 3]

[2, 3, 7, 4]
[2, 3, 7]


[2, 3, 7, 4, 6]
[2, 3, 7, 4]


[2, 3, 7, 4, 6, 5]
[2, 3, 7, 4, 6]

[2, 3, 7, 4, 6, 5, 1]
[2, 3, 7, 4, 6, 5]

[2, 3, 7, 4, 6, 5, 1, 8]
[2, 3, 7, 4, 6, 5, 1]

由于许多原因,
useState
不同步。如果要在分配新值后执行某些操作,请使用
useffect
功能


请阅读以下内容:

useState
由于许多原因不同步。如果要在分配新值后执行某些操作,请使用
useffect
功能


阅读以下内容:

您能否提供复制此问题的最小存储库?您能否提供复制此问题的最小存储库?