我知道它奇怪的用例,但已经处于PoC中间并且遇到了以下问题。
我在autoGenerated目录中有X jsx文件(使用react-magic库从HTML转换而来)。现在我需要动态加载它们到我的反应应用程序取决于路径。 要更清楚地看一下代码片段。
<Route path="*" getComponent={(location, cb) => {
const componentName = makeComponentName(location.pathname);
$.get(`/autoGenerated/${componentName}.jsx`, (res) => {
const element = React.createElement(res);
cb(null, element);
})
}} />
</Route>
从服务器下载的元素可以是纯JSX内容,也可以是React.createClass等元素。由我来解释我的html代码。
究竟是什么问题?我无法将从ajax调用下载的字符串转换为实际组件。我也试过在组件方面这样做 - 我的意思是我有generalComponent,里面通过ajax下载内容(也得到字符串),我试图以某种方式传递这个字符串来渲染方法..它也没有用。
当然静态加载所有组件都不在选项中,因为有数百个(如果不是数千个)。
你有线索吗?