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

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)
})
阅读 7.9k
1 个回答

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

useEffect(() => {
  getCategory(cateType, page)
}, [cateType, page])
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题