想象一下一个反应组件,它呈现一个绝对定位的元素。该元素在页面上的位置是从DOM中提取的数据的函数(不是来自任何组件状态)。
作为DOM状态的函数,反应是否具有良好的渲染模式?
我最好的想法是我打电话给双重渲染:
componentDidMount
/ componentDidUpdate
。setState
或以其他方式重新render
。shouldComponentUpdate
以防止无限render
/ componentDidMount
个循环。答案 0 :(得分:4)
componentDidMount 事件是您希望执行此操作的位置。
componentDidMount - 来自反应文档
在生命周期的这一点上,组件具有DOM表示 您可以通过React.findDOMNode(this)访问它。
如果要与其他JavaScript框架集成,请设置计时器 使用setTimeout或setInterval,或发送AJAX请求,执行这些 这种方法的操作。
我会将绝对元素放在页面上但不在视图中,然后将其移动到 componentDidMount 事件中的位置。
我不会调用这种双重渲染。