2016-08-11 6 views
1

Also, in den neuen ES6 Reagieren Weise, so etwas zu sehen, ist sehr häufig:Reagieren - gibt es eine ähnliche Möglichkeit, Zustandseigenschaften zu deklarieren?

render() 

    const { thing1, thing2, thing3 } = this.props 

    ...other stuff 

Gibt es ein vergleichbares Verfahren für Zustandseigenschaften, die existieren können oder nicht?

Es wird sehr ermüdend zu haben Zustandsvariablen wie folgt zu verwenden:

<h1>{this.state && this.state.title ? this.state.title : ''}</h1> 

Antwort

0

Nun, this.state ist immer nicht-null, wenn yo Sie geben ihm einen Wert während des Baus. Und Sie können den Titel Test normalerweise mit einem einfachen || vereinfachen: this.state.title || "".

Hier ist ein vollständiges Beispiel:

class Foo extends React.Component { 
    static propTypes = { 
     thing1: PropTypes.string, 
     thing2: PropTypes.string.isRequired, 
    }; 

    // initialize state during construction 
    state = { title: undefined, a: 1, b: 2 }; 

    render() { 
     const { thing1, thing2 } = this.props; 
     const { title, a, b } = this.state; 

     return (
      <div> 
       {thing1 && <div>{thing1}</div>} 
       <div>{thing2}</div> {/* isRequired so will never be null */} 
       <div>{title || ""}</div> 
       {a && <div>{a}</div>} {/* only render if a is truthy */} 
       <div>{b || "no b"}</div> {/* render "no b" if b not set */} 
      </div> 
     ); 
    } 
} 
Verwandte Themen