在初始化ReactJS应用程序之前是否有必要等待窗口加载事件?

时间:2017-10-04 12:09:23

标签: javascript html reactjs dom virtual-dom

在初始化react应用程序之前,有没有理由等待窗口加载事件?

window.addEventListener('load', () => {
   ReactDOM.render(
     <h1>Reactastic!</h1>,
     document.getElementById('rootElement')
   );
}, false);

只要在html中定义rootElement,而不是由javascript动态隐藏或创建,是否有可能及时无法将React用于初始化?

编辑:这也是假设javascript在页脚中加载。

2 个答案:

答案 0 :(得分:1)

假设javascript被加载到页面底部,没有理由等待加载文档,因为rootElement已经在DOM中可用。

答案 1 :(得分:0)

ReactDom渲染器会将所有内容挂载到容器元素中,因此,唯一需要反应的是(*)是现有的&#39; root&#39;元素在渲染调用。 根据您的假设,这是正确的,因此在这种情况下您不需要等待onload()。

(*)当然,渲染()之后评估的任何脚本都会在你的&#39; root中有条不紊地操纵dom。元素可以(并且可能会)破坏反应逻辑......