首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >异步回调中的卸载& useState

异步回调中的卸载& useState
EN

Stack Overflow用户
提问于 2020-11-01 16:19:27
回答 1查看 34关注 0票数 0

在React中,直接在异步回调中获取反模式吗?

setState可以在组件卸载后调用吗?

代码语言:javascript
运行
复制
const Component = () => {
  const [state, setState] = useState("");

  const onClick = e => {
    // What if the component unmounts before setState?
    fetch("url").then(response => response.json()).then(json => setState(json))
  }
  return <button onClick={onClick}></button>
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-11-01 16:28:33

如果需要调用api并在组件挂载时获取数据,则使用useEffect

如果要在onClick事件上调用它,请使用useCallback

如果组件在setState之前卸载,它不会破坏您的应用程序,但是在卸载组件中调用set状态时,会在控制台中得到一个错误。为了避免这种情况,可以在组件卸载时取消api调用。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64634095

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档