const [musicData, setMusicData] = useState({
    songs:[],
    isLoading:false
});

if(a===1){

    setMusicData({songs:[],isLoading:true});

}

*********//一长串代码

setMusicData({songs:[],isLoading:false});

 

上述代码执行结果最后得到的isLoading值可能是false  也有可能是true  这个判断或者中间一串串代码可能会让本来同步的队列变的不同步,

 

如果需要同步执行 那么这样写:

setMusicData({songs:[],isLoading:true});

setMusicData(songs:[],isLoading:true);

*******//一长串代码

 

本来useState queue队列是顺序队列的(放一起就是同步执行)

 

建议: setState()  顺序放一起执行  避免不必要的其他代码影响最后执行顺序

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐