react 有没有什么方法可以取代setTimeout 0秒

vue 有 nextTick可以获取渲染完成的DOM react有没有类似的方法。
(想获取element-react中的dialog组件的高度,总是获取为0,用setTimeout 就可以获取得到)

看了下源码,猜想是Transition 有了过渡时间才拿不到高度的
clipboard.png

阅读 12.8k
4 个回答

在挂载完成中可以获取 componentDidMount

可以试试先把你的dialog渲染出来,display: none
在触发点击dialog显示事件时再去获得高度

可以试试先把你的dialog渲染出来,opaicty: 0, z-index: -1
在触发点击dialog显示事件时再去获得高度

可以通过ref属性,拿到渲染后的对象

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