reeact hooks如何实现this.setState第二个参数回调函数那样的效果

发布于 2022-09-12 01:47:09 字数 400 浏览 14 评论 0

Snipaste_2020-03-23_17-40-48.png

如图,使用hooks怎么实现我图中文字描述的效果
在原来的class中可以通过this.setState的第二个参数回调函数实现,
那在hooks中,怎么才能实现啊,放在useEffect中监听这几个的变化,那我的函数会执行多遍,这也不行啊

this.setState({
  page: 1,
  cateType: type,
  loading: true,
  categoryList: []
}, () => {
    getCategory(cateType,page)
})

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

書生途 2022-09-19 01:47:09

useEffect 并不会执行多遍,而是会异步等待一轮 setState 更新全部同步完、re-render 之后才执行. 所以这样就可以了:

useEffect(() => {
  getCategory(cateType, page)
}, [cateType, page])
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文