2016-05-09 4 views
1
var A = React.createClass({ 
    render() { 
     return (
      <B> 
       <h1>Title</h1> 
      </B> 
     ); 
    } 
}); 

Kind:Howto: Besitzer in ownee gemacht reagieren

var B = React.createClass({ 
    render() { 
     return (
      <div> 
       // Where A should be.... 
      </div> 
     ); 
    } 
}); 

In dem obigen Beispiel wird ein dazwischen B. gemacht wird

Was derzeit geschieht, ist B von A korrekt gerendert wird, aber die <h1>Title</h1> wird nicht hinzugefügt. Es endet das div und nichts dazwischen erscheint.

Antwort

3

Was Sie suchen, ist dies wahrscheinlich:

var B = React.createClass({ 
    render() { 
     return (
      <div> 
       {this.props.children} 
      </div> 
     ); 
    } 
}); 

Streng genommen <B> NICHT <A> nicht machen (weil dies eine Endlosschleife verursachen würde). Stattdessen rendert <B> alle children, die als Requisiten von <A> weitergegeben wurden. In Ihrem Fall ist dies die <h1>.

PS, die Dokumentation zu diesem can be found here (danke @Kujira für den Link)

+0

Cool, das funktioniert. Wirklich schlechte Dokumentation dieses Verhaltens. Schaute das schon eine Weile an. Vielen Dank! –

+0

@JustinWarner [Hier ist die Dokumentation, nach der Sie gesucht haben] (https://facebook.github.io/react/docs/multiple-components.html#children). – Kujira