2017-02-14 82 views
2

如何追加另一個屬性?我有一個反應成分,其中有人已經過去了......道具,我想對追加額外的道具使用道具和其他道具

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

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

+0

是的它的工作原理,我試過,發佈之前,得到一個錯誤,但沒關係。 – PositiveGuy

+0

我應該發佈這個答案嗎? – raina77ow

回答

6

序列中只需添加:

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

或者你也可以複製道具,加其他道具克隆,然後執行:

<AccountsStatus {...newProps} /> 

但我不建議做,你會東東一個lib克隆的對象。

+0

我嘗試了第一次,但由於某種原因不起作用 – PositiveGuy

+0

您可以發佈您的代碼@PositiveGuy嗎? –

+0

如果'props'裏面'otherProp'的值已經存在,恐怕我不得不使用第二種方法。 –

1

請記住,您傳遞道具的順序將決定將哪個值傳遞給該組件。這適用於有兩個相同名稱的密鑰。

例如:

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

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

看起來一樣,但在第一個例子,如果你傳播了載有extraProp關鍵的props對象時,它會覆蓋您之前通過的extraProp值。

0

只需發送道具傳播員上方:

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

記住始終指定它上面的傳播道具。如果您在道具中傳遞道具名稱相同的道具,您可能想要覆蓋它。 您可以在this article中閱讀更多關於道具的文章,它涵蓋了很多道具如何通過的方法。

0

我現在不能測試這個,但不應該這項工作?

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