2016-04-26 16 views
6

Migrowałem jedną z moich aplikacji do ES6 na węźle/reaguję i mam pytanie o to, jak rekwizyty są przekazywane dzieciom. Czytam kilka postów, a niektóre adresują to, podczas gdy inne nie. Zasadniczo, co widziałem do tej pory to:es6 reagowanie na rekwizyty w komponencie potomnym

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

ale udało mi się dostać mój składnik do pracy z następującymi zasadami:

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

czy istnieje powód, dlaczego należy przekazać rekwizyty w nawiasach dla mojego konstruktora i super-połączenia? lub mogę zostawić mój kod tak, jak to jest

Odpowiedz

0

Musisz przekazać rekwizyt, ponieważ rozszerzasz z React.Component, w przeciwnym razie nie będziesz mieć dostępu do this.props w konstruktorze.

To jakiś wzór kompozycji.

+0

ale działa, używam go już teraz, a jego praca –

+3

dobrze myślę, że to nie jest konieczne, chyba że trzeba użyć this.props w konstruktorze, na przykład, aby ustawić początkowy stan – QoP

+0

jest bardziej sensowny, sprawdzony i masz rację. –

Powiązane problemy