Je souhaite rendre dans mon composant Text un autre composant en utilisant: {this.props.child}

Que dois-je choisir et pourquoi?

<Route path={'/test'} render={() => <Test children={Test1} />} />

Ou

<Route path={'/test'} render={() => <Test><Test1 /></Test>} />
2
aaaania 27 avril 2020 à 22:04

2 réponses

Meilleure réponse

Le prop children doit toujours être passé comme:

<Test><Test1 /></Test>

Cependant, vous voudrez peut-être que d'autres JSX soient parfois passés en tant que prop, comme lorsque vous définissez un petit morceau de contenu quelque part, comme un title. Vous pouvez alors même utiliser les deux formulaires:

<Test title={<h1>Big title</h1>}>
  <ChildrenComponent />
</Test>

Mais, par souci de cohérence, le prop children doit toujours être les enfants réels du composant.

1
Alex Wayne 27 avril 2020 à 19:13

Vous devez utiliser la deuxième méthode:

<Route path={'/test'} render={() => <Test><Test1 /></Test>} />

La prop render offre la possibilité de rendre en ligne et de transmettre des accessoires supplémentaires à l'élément. Cet accessoire attend une fonction qui renvoie un élément React lorsque l'emplacement actuel correspond au chemin de l'itinéraire.

1
Pulsara Sandeepa 27 avril 2020 à 19:38