樣式設(shè)置問題:
當(dāng)我們使用自定義組件的時候望浩,在父組件中給自定義
的組件設(shè)置樣式會發(fā)現(xiàn)無效次酌,設(shè)置如下:
本質(zhì)上是對于引入子組件的理解有誤:
對于引入的父組件來說恨课,子組件只是一個import
的JSX,即子組件在這里會被編譯成<View>XXX</View>
替換這里的HomeFunctions
岳服,那么對于HomeFunctions
來說剂公,在這里的意義只是一個占位符,所以設(shè)置的任何樣式都不會被傳遞到子組件的<View>XXX</View>
這個最外層的View
中吊宋,所以對于自定義的組件這樣設(shè)置樣式是無效的纲辽。
注意,這里僅僅是針對樣式璃搜,對于其他屬性(prop)來說并不是一個占位符拖吼,而是有實際意義的,比如進行賦值傳值等这吻。這里應(yīng)該是編譯時進行了處理吊档,并不把這里的樣式屬性進行處理。
解決方法:
可以在子組件中給最外層的設(shè)置樣式唾糯,以達到預(yù)期的效果怠硼。
或者在這里使用一個View
去包裹自定義的組件鬼贱,然后設(shè)置這個View
的樣式。