aku*_*001 16 javascript reactjs
React.render(<MyComponent/>, mainNode, function() {
console.log('2');
});
console.log('1');
Run Code Online (Sandbox Code Playgroud)
版画
2
1
Run Code Online (Sandbox Code Playgroud)
此外,回调中的scrollTop()不起作用.如果我在render()返回后调用它,它就可以工作.
React.render()是否同步?
函数返回时是否呈现DOM?
什么叫回调?在回调中我想做什么?
Ant*_*haw 13
您可以将回调逻辑移动到正在挂载的组件中,然后componentDidMount在第一次将组件呈现给DOM时使用该方法,并对DOM componentDidUpdate进行后续更新/呈现.在这两种方法中,组件将通过window.document或使用组件getDOMNode方法在真实DOM中可用.
这与渲染回调本身并不完全相同.值得注意的是,如果您正在更改组件的状态,您还可以将回调函数传递给setState组件的方法,该组件将在组件状态更新后应用(以及呈现给DOM的任何更改).
查看了React源代码以确认 - 当将新的根节点(根据您的代码片段)呈现到DOM中时,进程是同步的,并且回调(如果传递)在紧接着之后触发(https://github.com/facebook /react/blob/master/src/renderers/dom/client/ReactMount.js第570-582行)
| 归档时间: |
|
| 查看次数: |
12483 次 |
| 最近记录: |