繁体   English   中英

Babel,Webpack,ES6,反应:导入模块,然后将导入的模块作为prop传递给子级

[英]Babel,Webpack,ES6,React: Importing module then passing imported module as prop to child

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

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

这是编写组件时的常见模式吗?或者可以做但不一定要做的事情?

如果您使用的是Webpack,则不会提高性能,它会将所有内容带入同一文件(如果要创建多个块,则将多个文件带入)并优化了依赖项包含,因此您不必自己做。 如果您要说的话,性能可能会更差,因为您会将整个库作为道具添加到子组件。

传递依赖作为道具基本上是依赖注入。 DI将具有所有固有的利弊。

DI可能带来的好处之一就是可测试性。 在React生态系统中,通常通过Jest模块模拟单独解决ES模块问题。

另一个好处是可扩展性。 这最适合DI容器。 本文本使用Angular DI的 文章将介绍React中的DI容器。

对于不希望交换的Lodash这样的库,可以将其视为反模式。 ES模块应达到此目的。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM