react何时获取依赖接口的dom的宽高

需求场景:

需要获取一个dom的宽高,但是这个dom依赖接口返回值,现在的做法是在接口返回后,setState之后,settimeout-100ms之后,才能拿到该dom的宽高。

个人觉得100ms不靠谱,有没有靠谱点的方式,就是那个时间点dom一定是渲染完成了。

阅读 1.9k
2 个回答
setState() 并不总是立即更新组件。它会批量推迟更新。这使得在调用 setState() 后立即读取 this.state 成为了隐患。为了消除隐患,请使用 componentDidUpdate 或者 setState 的回调函数(setState(updater, callback)),这两种方式都可以保证在应用更新后触发。如需基于之前的 state 来设置当前的 state,请阅读下述关于参数 updater 的内容。

官方文档有写啊,setState的第二个入参,callback中去做你要做的事

ResizeObserver

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