const [query, setQuery] = useState([])
React.useEffect (() => {
fetch(url)
.then((res) => res.json())
.then((data) => {
setQuery(data)
console.log(query);
handleChange();
})
})
我有2个问题:
谢谢!
答案 0 :(得分:0)
您可能不清楚useState
的工作方式。在这里检查:https://reactjs.org/docs/hooks-state.html
我有2个问题:
状态查询将在调用组件(重新渲染)后更新。因此,这里的控制台会变旧
query
。
我认为
handleChange
将在提取完成后执行。但是您的情况可能是您使用un updated query
来使用。 您可以使用useEffect
来触发handleChange
,这可以确保query
已经更新之后。示例:
React.useEffect(() => handleChange(), [query]);