2017-02-14 11 views
2

Wie kann ich eine andere Eigenschaft anhängen? Ich habe eine Komponente reagieren, wenn jemand in vergangen ist ... Requisiten und ich möchte auf eine zusätzliche StützeVerwenden Sie Spread Requisiten mit zusätzlichen Requisiten

<AccountsStatus {...props} /> 
+2

'{... requisiten, extraProp: someValue}'? – raina77ow

+0

Ja, es funktioniert, ich habe das vor dem Posten versucht und bekam einen Fehler, aber es ist in Ordnung. – PositiveGuy

+0

Soll ich dies als Antwort posten? – raina77ow

Antwort

6

Gerade in der Sequenz hinzufügen anhängen:

<AccountsStatus {...props} otherProp={true} /> 

Oder Sie können Requisiten klonen, hinzufügen die andere Stütze zu dem Klon, und dann tun:

<AccountsStatus {...newProps} /> 

Aber ich würde auf zu tun, dass es nicht empfehlen, Sie lib das Objekt zu klonen nee würde.

+0

Ich habe das erste versucht, funktioniert aber aus irgendeinem Grund nicht – PositiveGuy

+0

Können Sie Ihren Code, @PositiveGuy? –

+0

Wenn es bereits einen Wert für 'otherProp' in' Requisiten' gibt, müssen Sie die zweite Methode verwenden, fürchte ich. –

1

Bedenken Sie, dass die Reihenfolge, in der Sie Ihre Requisiten übergeben, bestimmen wird, welcher Wert an diese Komponente übergeben wird. Dies gilt, wenn zwei Schlüssel mit demselben Namen vorhanden sind.

Zum Beispiel:

<AccountsStatus extraProp={extraValue} {...props} /> 

und

<AccountsStatus {...props} extraProp={extraValue} /> 

gleich aussehen, aber in dem ersten Beispiel, wenn Sie Ihr props Objekt verbreitet wurden, die einen extraProp Schlüssel enthalten ist, wäre es überschreiben der extraProp Wert, den Sie vor ihm übergeben.

0

einfach die Stütze über dem Operator Verbreitung senden:

<AccountsStatus 
    otherProp={otherPropValue} 
    {...props} 
/> 

Denken Sie daran, immer es über die Verbreitung Requisiten angeben. Wenn Sie die Requisite mit dem gleichen Namen in Requisiten übergeben, möchten Sie sie wahrscheinlich überschreiben. Sie können mehr über Requisiten in this article lesen, es deckt eine Vielzahl von Möglichkeiten ab, wie bestimmte Arten von Requisiten übergeben werden.

0

Ich kann das jetzt nicht testen, aber sollte das nicht funktionieren?

<AccountsStatus foo={[...props, extraProp]} />