useEffect 没有设置反应挂钩
useEffect not setting react hooks
我有一个 useEffect 函数,看起来像这样。
useEffect(() => {
getColls()
console.log(pageColl)
}, [])
getColls() 函数设置 pageColl 变量。
//getColls()
const getColls = () => {
Service.getCollections()
.then(data =>
setPageColl(data.collections.find(coll => coll._id === userId))
)
}
//states
const [pageColl, setPageColl] = useState(null);
pageColl 应该设置为一个对象,但由于某些原因,当我尝试 console.log(pageColl) 时,我返回了一个空值。就好像从未调用过 setPageColl 一样。我知道数据是在 getColls 中返回的,我可以在那里 console.log 它。
您无法在调用 getColls() 方法后立即检查“pageColl”状态,因为 api 调用是异步的。
useEffect(() => {
console.log(pageColl)
}, [pageColl])
你可以像上面那样检查
我有一个 useEffect 函数,看起来像这样。
useEffect(() => {
getColls()
console.log(pageColl)
}, [])
getColls() 函数设置 pageColl 变量。
//getColls()
const getColls = () => {
Service.getCollections()
.then(data =>
setPageColl(data.collections.find(coll => coll._id === userId))
)
}
//states
const [pageColl, setPageColl] = useState(null);
pageColl 应该设置为一个对象,但由于某些原因,当我尝试 console.log(pageColl) 时,我返回了一个空值。就好像从未调用过 setPageColl 一样。我知道数据是在 getColls 中返回的,我可以在那里 console.log 它。
您无法在调用 getColls() 方法后立即检查“pageColl”状态,因为 api 调用是异步的。
useEffect(() => {
console.log(pageColl)
}, [pageColl])
你可以像上面那样检查