2016-07-27 19 views
14

Zdałem sobie sprawę, że żaden z elementów, które piszę, nie używa {this.props.children}.ReactJS: Dlaczego warto używać this.props.children?

Staram się komponować moje komponenty tak, jak oficjalne dokumenty znajdują się na szczycie https://facebook.github.io/react/docs/multiple-components.html.

Czy zagnieżdżanie komponenty tak ...

<A> 
    <B /> 
    <C /> 
</A> 

... korzystne ponad komponowania ich tak ?:

A.js

render() { 
    <B /> 
    <C /> 
} 

Zakładając, że jest to właściwa terminologia, czego mi brakuje?

+0

co jeśli nie wiesz, co dzieci są? pomyśl o opakowaniu komponentu, który stosuje jakiś styl lub działanie do swoich dzieci, niezależnie od tego, czym one są. Co więcej, mniej o jednym komponencie i więcej o aplikacji, gdy budujesz stronę z reagowaniem, użyjesz jej. – JordanHendrix

Odpowiedz

19

W moim aplikacje rzadko używam this.props.children, ponieważ często wiem dokładnie, jakie dzieci chcę renderować. W bibliotekach lub komponentach napisanych do ponownego wykorzystania poza określoną aplikacją, widziałem to często. Myślę, że this.props.children ma większe znaczenie dla tego przypadku użycia.

+0

Dobrze, to była najbardziej przydatna odpowiedź, aby uspokoić moje myślenie. – MattDuFeu

9

Powiedziałbym, że byłoby to przydatne, gdy nie wiesz, co chcesz renderować.

Na przykład, masz otoki podpowiedzi, powiedzmy to A komponent w scenariuszu i można go używać do przekazywania różnych treści:

<A> 
    <div>Some text...</div> 
    <ImageComponent /> // render an image as well 
</A> 

czyli

<A> 
    <div>Only text</div> 
</A> 
2

Niektóre elementy nie znają swoich dzieci z wyprzedzeniem. Jest to szczególnie częste w przypadku komponentów takich jak Pasek boczny lub Okno dialogowe, które reprezentują ogólne "pudełka".

Zalecamy takie składniki użyć specjalnych dzieci prop przekazać dzieciom elementy bezpośrednio do ich produkcji: Read More...

Powiązane problemy