这个问题与在React中动态导入JSX文件有关。
基本上,我们有一个主组件,根据存储在数据库中的结构动态地渲染其他组件。这些动态组件存储在子目录“./Components”中。我们静态地将它定义为:
我们使用以下方式进行呈现:
尽管这可以很好地工作,但对我们而言有点过于静态。我们有100多个组件 (CompA/CompBs),静态定义它们是行不通的。
是否可以导入"./Components"中的所有JSX文件并填充组件数组?
而且,真正 (真正) 不错的是,如果我们可以将 "./Components" 路径作为属性发送到主组件,那将会如何呢?主组件将使用此路径来导入 .jsx 文件。像这样:
import CompA from './Components/CompA';
import CompB from './Components/CompB';
var components = {
'CompA': CompA,
'CompB': CompB
}
我们使用以下方式进行呈现:
var type = 'CompA'
var Component = components[type];
...
<Component />
尽管这可以很好地工作,但对我们而言有点过于静态。我们有100多个组件 (CompA/CompBs),静态定义它们是行不通的。
是否可以导入"./Components"中的所有JSX文件并填充组件数组?
而且,真正 (真正) 不错的是,如果我们可以将 "./Components" 路径作为属性发送到主组件,那将会如何呢?主组件将使用此路径来导入 .jsx 文件。像这样:
<MainComponent ComponentPath="./SystemComponents">
将"./SystemComponents"作为 .JSX 文件的路径,并:
<MainComponent ComponentPath="./UserComponents">
将使用"./UserComponents"作为导入路径。