【发布时间】:2015-11-03 04:22:19
【问题描述】:
我一直在玩 React,到目前为止我真的很喜欢它。我正在使用 NodeJS 构建一个应用程序,并希望将 React 用于整个应用程序中的一些交互式组件。我不想让它成为单页应用程序。
我还没有在网上找到可以回答以下问题的任何内容:
如何在多页面应用中拆分或捆绑我的 React 组件?
目前我的所有组件都在一个文件中,即使我可能永远不会在应用程序的某些部分加载它们。
到目前为止,我正在尝试使用条件语句通过搜索 React 将呈现的容器的 ID 来呈现组件。我不能 100% 确定 React 的最佳实践是什么。它看起来像这样。
if(document.getElementById('a-compenent-in-page-1')) {
React.render(
<AnimalBox url="/api/birds" />,
document.getElementById('a-compenent-in-page-1')
);
}
if(document.getElementById('a-compenent-in-page-2')) {
React.render(
<AnimalBox url="/api/cats" />,
document.getElementById('a-compenent-in-page-2')
);
}
if(document.getElementById('a-compenent-in-page-3')) {
React.render(
<AnimalSearchBox url="/api/search/:term" />,
document.getElementById('a-compenent-in-page-3')
);
}
我仍在阅读文档,但还没有找到我需要的多页应用程序。
提前致谢。
【问题讨论】:
-
尝试使用requirejs插件。
-
如果您不介意 ReactJs 是一个非常大的 JS 库,需要为每个页面进行初始化(正如您所说,您不是在构建单页应用程序),那么我不确定将所有组件合并到一个文件中是否重要。它将被缓存在客户端上。当页面加载时,将其
render放入script块中的正确组件。 -
我遇到了同样的问题:我有一个应用程序可以在不同的页面上加载其他大型库,我宁愿根据访问者的需要加载 react + 一个库,而不是四个大型库图书馆以防万一。
标签: javascript node.js reactjs