2016-04-26 17 views
6

Ich habe eine meiner Apps zu ES6 auf Node/reagieren migrieren und ich habe eine Frage darüber, wie Requisiten an Kinder weitergegeben werden. Ich lese eine Reihe von Posts und einige adressieren dies, andere nicht. Im Grunde, was ich bisher gesehen habe, ist dies:es6 react bekommen Requisiten in Kind-Komponente

export default class SomeComponent extends React.Component { 
    constructor(props) { 
     super(props); 
    } 
    render() { 
     return (
      <div> 
       {this.props.text} <<< Props used here 
      </div> 
     ); 
    } 
} 

aber ich habe in der Lage meine Komponente erhalten mit der folgenden arbeiten:

export default class SomeComponent extends React.Component { 
    constructor() { 
     super(); <<< notice no props in parentheses 
    } 
    render() { 
     return (
      <div> 
       {this.props.text} <<< Props used here 
      </div> 
     ); 
    } 
} 

gibt es einen Grund, warum ich passieren soll die Requisiten in Klammern für meinen Konstruktor und den Super Call? oder kann ich meinen Code so lassen, wie er ist

Antwort

0

Sie müssen die Requisiten übergeben, weil Sie von React.Component erweitern, sonst wird es Ihnen nicht erlaubt, auf this.props im Konstruktor zuzugreifen.

Es ist eine Art von Komposition Muster.

+0

aber es funktioniert, ich laufe es jetzt und sein Arbeits –

+3

gut denke ich, dass es nicht notwendig, es sei denn, Sie this.props im Konstruktor, zum Beispiel verwenden müssen, ein anfängliche einstellen Zustand – QoP

+0

das macht mehr Sinn, getestet und du hast Recht –

Verwandte Themen