react hooks usestate 异步同步问题
const [musicData, setMusicData] = useState({songs:[],isLoading:false});if(a===1){setMusicData({songs:[],isLoading:true});}setMusicData({songs:[],isLoading:false});这个时候最后得到的isLoading值可能是false 也有可能是true
·
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() 顺序放一起执行 避免不必要的其他代码影响最后执行顺序
更多推荐
已为社区贡献4条内容
所有评论(0)