ReactJS - 在加载时渲染顶级组件
ReactJS - Render top level component on load
我正在研究 ReactJS,我正在使用 Gulp 来连接我的文件。因为我无法轻易确定我的文件的顺序,并且为了不填充全局命名空间,我决定为我的应用程序命名空间......例如
App = App || {};
App.Dashboard = React.createClass({
render: function() {
return (
<p>My Dashboard</p>
);
}
});
React.render(
<App.Dashboard />,
document.body
);
这似乎工作正常,但问题是 React.render()
必须在所有文件加载之后。为了解决这个问题,我做了以下事情:
文件一:
App = App || {
ready: function() {
React.render(
<App.Dashboard />,
document.body
);
}
};
$(function() {
App.ready();
});
其他文件:
App.Dashboard = React.createClass({
render: function() {
return (
<p>My Dashboard</p>
);
}
});
这行得通...但感觉不正确。有没有更好的方法来解决这个问题?
您可以保持资产原样,并在末尾有一小部分 运行 正文可供写入时使用。
虽然您不想渲染到 document.body 实际上有很多原因,所以我建议您将 a 放入 html 并使用它来渲染您的应用程序。这样,当您在 <div>
下有一个 bootstrap <script>
部分时,该容器应该在您要呈现给它的时候完成呈现:
<div id="app"></div>
<script>
App.ready(); // calls the function which then does
// React.render(Component, document.getElementById('app'))
</script>
Dan Abramov 对此写了一些文章:https://medium.com/@dan_abramov/two-weird-tricks-that-fix-react-7cf9bbdef375#486f
我自己摸索 doc.body 的经历:https://twitter.com/jusrin00/status/578331514397679617
我正在研究 ReactJS,我正在使用 Gulp 来连接我的文件。因为我无法轻易确定我的文件的顺序,并且为了不填充全局命名空间,我决定为我的应用程序命名空间......例如
App = App || {};
App.Dashboard = React.createClass({
render: function() {
return (
<p>My Dashboard</p>
);
}
});
React.render(
<App.Dashboard />,
document.body
);
这似乎工作正常,但问题是 React.render()
必须在所有文件加载之后。为了解决这个问题,我做了以下事情:
文件一:
App = App || {
ready: function() {
React.render(
<App.Dashboard />,
document.body
);
}
};
$(function() {
App.ready();
});
其他文件:
App.Dashboard = React.createClass({
render: function() {
return (
<p>My Dashboard</p>
);
}
});
这行得通...但感觉不正确。有没有更好的方法来解决这个问题?
您可以保持资产原样,并在末尾有一小部分 运行 正文可供写入时使用。
虽然您不想渲染到 document.body 实际上有很多原因,所以我建议您将 a 放入 html 并使用它来渲染您的应用程序。这样,当您在 <div>
下有一个 bootstrap <script>
部分时,该容器应该在您要呈现给它的时候完成呈现:
<div id="app"></div>
<script>
App.ready(); // calls the function which then does
// React.render(Component, document.getElementById('app'))
</script>
Dan Abramov 对此写了一些文章:https://medium.com/@dan_abramov/two-weird-tricks-that-fix-react-7cf9bbdef375#486f
我自己摸索 doc.body 的经历:https://twitter.com/jusrin00/status/578331514397679617