2016-04-13 13 views
1

Was bedeutet {...this.props} in diesem Code?Was bedeutet "... this.props" in ReactJS?

<div {...this.props} style={{ height: `100%`, }} 
+0

Duplikat, überprüfen beantworten http://stackoverflow.com/questions/31048953/what-does-the-three-dots-in-react-do/41640566#41640566 –

Antwort

7

Die {...variable} Syntax wird "Spread-Attribute" genannt.

Was dies tut, ist, im Grunde nimmt es jede Eigenschaft von this.props (oder jede andere übergebene Variable) und wendet sie auf das Element.

Beispiel:

props = {className: 'big', href: 'http://example.com'}; 

<a {...props} /> 
// the above line is equal to the following 
<a className="big" href="http://example.com" /> 
2

ich denke, es könnte die Ausbreitung Operator (drei Punkte), die Sie off setzen? :)

What does the three dots in react do?

Edit: Um dies näher auszuführen, sind Sie wahrscheinlich zu einer JSX Vorlage suchen? Jede Eigenschaft ist tatsächlich eine CSS-Eigenschaft für Ihr -Format Attribut im resultierenden HTML. Der Spread-Operator bewirkt auch, dass alle Eigenschaften innerhalb von this.props expandiert werden, d. H. Das Gleiche, als ob jede Eigenschaft in this.props explizit in der Vorlage ausgegeben würde.

+1

@Zhao Yi, Codehandbuch http://StackOverflow.com/a/31049016/1589444 'var component = ;' so in der Klassendefinition von 'Component', wenn Sie' console.log (this.props) 'in' render' Funktion, es ist wie übergeben und Array mit anderen Namen, und Zugriff auf alle Schlüssel des Arrays direkt Formularnamen Variable im Argument, wie hier 'this.props'. –

0

{... this.props} bedeutet alle Requisiten der aktuellen Komponente. Nehmen wir an, Sie haben Objekt a und Objekt b in Requisiten als {... this.props} bedeutet sowohl a als auch b. Sie können alle Requisiten Ihrer aktuellen Komponente an eine andere Komponente übergeben, indem Sie diese verwenden.