1

我知道它很奇怪的用例,但我已经处于 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 下载内容(也获取字符串),我试图以某种方式将此字符串传递给渲染方法..它也没有工作。

当然,静态加载所有组件都不是选项,因为它们有数百个,甚至数千个。

你有什么线索吗?

4

0 回答 0