2016-04-26 20 views
6

私のアプリケーションの1つをnode/reactのES6に移行しましたが、どのように小道具が子供に渡されるかについて質問があります。私はたくさんの投稿を読んでいますが、他の人はそうしていないもののいくつかを扱っています。基本的には、私がこれまで見てきたことはこれです:es6子コンポーネントで小道具を取得することに反応します

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

が、私は次のように動作するように私のコンポーネントを取得することができました:

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

私は渡す必要があります理由はそこにあります私のコンストラクタとスーパーコールのかっこ内の小道具?またはコードをそのままにしておくことができます

答えて

0

React.Componentから継承しているため、小道具を渡す必要があります。そうしないと、コンストラクタのthis.propsにアクセスできなくなります。

これはある種の構図パターンです。

+0

が、それは仕事をし、私は今、それを実行しているし、そのあなたが最初のを設定するために、例えば、コンストラクタでthis.propsを使用する必要がない場合 –

+3

がよく、私はその必要はないことを推測する作業します状態が – QoP

+0

であり、それはより意味があり、テストされており、正しいとお考えください。 –

関連する問題