Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reactjs React:运行时加载组件_Reactjs_Webpack - Fatal编程技术网

Reactjs React:运行时加载组件

Reactjs React:运行时加载组件,reactjs,webpack,Reactjs,Webpack,我有一个组件在应用程序的不同点弹出。 在弹出组件中,我有几个按用途分组的子组件,它们已经静态导入 然后,根据传入的道具使用情况,使用switch语句呈现不同的组件组 这工作正常,但switch语句和导入正在增长 是一种我可以在运行时传入组件并让它们渲染的方法。因此,在任何时候,弹出窗口中只有一组组件存在/实例化?只是想去掉switch语句和静态导入 伪码 这是Webpack可以做的吗?但是你更喜欢代码而不是配置吗 子组件将具有静态导入等 希望这是有意义的 这似乎是我应该做的 Webpacks S

我有一个组件在应用程序的不同点弹出。 在弹出组件中,我有几个按用途分组的子组件,它们已经静态导入

然后,根据传入的道具使用情况,使用switch语句呈现不同的组件组

这工作正常,但switch语句和导入正在增长

是一种我可以在运行时传入组件并让它们渲染的方法。因此,在任何时候,弹出窗口中只有一组组件存在/实例化?只是想去掉switch语句和静态导入

伪码

这是Webpack可以做的吗?但是你更喜欢代码而不是配置吗

子组件将具有静态导入等


希望这是有意义的

这似乎是我应该做的


Webpacks System.import似乎是答案,但如果有其他方法,请发布

是的,Webpack中有一种称为异步代码拆分的方法

以下是文件:


基本上,您可以告诉Webpack在某个区域创建一个拆分点,然后使用解理器技巧仅在需要时加载这些模块。由于react router已经对此进行了部署,所以使用routes变得很容易,但使用清单和注册表系统执行此操作并不难。

只是想让您知道,system.import已被弃用。他们建议现在就使用导入。我还是喜欢require.sure,因为它允许您命名块。@gretro您可以在导入中命名块,它是在2.4.0版中添加的哦,太棒了。我再看一次。我更喜欢有一个承诺,但这种功能的缺乏让我恼火。谢谢你的回答,现在我只需要想一想:-我已经增加了你的答案
<renderPopup children={[ componentA, componentB ]} />

<renderPopup children={[ componentA, componentB, componentC ]} />