将String转换为ReactComponent

时间:2016-02-16 12:54:15

标签: reactjs react-router react-router-component

我知道它奇怪的用例,但已经处于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下载内容(也得到字符串),我试图以某种方式传递这个字符串来渲染方法..它也没有用。

当然静态加载所有组件都不在选项中,因为有数百个(如果不是数千个)。

你有线索吗?

0 个答案:

没有答案