Babel,Webpack,ES6,React:导入模块然后将导入的模块作为prop传递给child

问题描述 投票:0回答:2

如果我要在父组件中导入lodash util库(或任何库),然后将该导入的变量作为prop传递给我知道将使用相同库的子组件,这是否会提供性能方面的任何好处或建立时间等?

我不认为我必须为子组件中的lodash util库创建一个import语句,因为它作为prop存在但是在性能方面还有其他好处吗?

这是编写反应组件的常见模式还是可以完成但不一定应该完成的事情?

javascript reactjs dependency-injection import ecmascript-6
2个回答
1
投票

如果你使用Webpack没有性能提升,它会把所有内容都放在同一个文件中(或者如果你正在制作多个文件块的话,还是多个文件),并优化依赖包含,这样你就不必自己动手了。如果您所说的任何内容可能会有更差的性能,因为您将整个库添加为子组件的道具。


0
投票

将依赖关系作为prop传递基本上是依赖注入。 DI将具有所有优点和缺点。

可能的DI优势之一是可测试性。在React生态系统中,它通常仅针对具有Jest模块模拟的ES模块进行解决。

另一个好处是可扩展性。这对DI容器最有效。 React中的DI容器在this articlethis one that uses Angular DI中有解释。

对于像Lodash这样预计不会被交换的库,这可以被认为是反模式。 ES模块应该用于此目的。

© www.soinside.com 2019 - 2024. All rights reserved.