簡體   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