有什么办法可以用状态立即响应吗?
is there any way to usestate respond immediately?
我想从 usestate 节点的我的服务器获取值,但它 returns 先是空数组值,然后弹出我的 axios
的值
有什么办法让axios的值比空数组先出现?
我的代码:
const [valTop, valTopstate] = useState([])
async function MusicTop() {
axios("http://localhost:3001/")
.then(res=>{
valTopstate(res.data.tracks.data)
})
}
useEffect(()=>{
MusicTop()
}, [valTop])
你的代码没问题,但 UseEffect 只在组件渲染后执行,所以你可以应用数组为空的逻辑,然后显示加载程序,如果不显示数组值,如果这是你的 child 组件你可以做的是,当这个 child 组件将被执行时,你可以首先通过调用 parent 组件中的函数来获取所需的数组值,并将值作为child 组件中的道具。
我想从 usestate 节点的我的服务器获取值,但它 returns 先是空数组值,然后弹出我的 axios
的值有什么办法让axios的值比空数组先出现?
我的代码:
const [valTop, valTopstate] = useState([])
async function MusicTop() {
axios("http://localhost:3001/")
.then(res=>{
valTopstate(res.data.tracks.data)
})
}
useEffect(()=>{
MusicTop()
}, [valTop])
你的代码没问题,但 UseEffect 只在组件渲染后执行,所以你可以应用数组为空的逻辑,然后显示加载程序,如果不显示数组值,如果这是你的 child 组件你可以做的是,当这个 child 组件将被执行时,你可以首先通过调用 parent 组件中的函数来获取所需的数组值,并将值作为child 组件中的道具。