2017-08-16 170 views
1

我動態兩個組成部分之間的反覆,像這樣:如何將動態道具傳遞給ReactJS中的子組件?

{this.props.firstname ? (

    <ProfileDropdown 
     firstname = "SomeFirstName" 
    /> 

) : (
    .... 
)} 

但不是"SomeFirstName",我想通過this.props.firstname作爲firstname道具的<ProfileDropdown />組件中的值。我怎麼做?

回答

5

Basic Rule

我們可以通過在花括號 包裹其嵌入JSX任何JavaScript expression

要指定內部JSX任何表情,我們需要使用{},使用它,並把this.props.firstName內部的。

寫這樣的:

<ProfileDropdown 
    firstname = {this.props.firstname} 
/> 

檢查DOC:Embedding Expressions in JSX

更新:

檢查這個例子中,你會得到一個更好的主意:

{this.props.firstname ? (  //expression so {} 
    <ProfileDropdown    //jsx 
     firstname = {1 == 1 ?  //here {} to put expression inside JSX 
      <div> {1+1} </div> //inside div(JSX), so use {} again to put expression 1+1 
      : <div>World</div> 
     } 
    /> 
) 
+0

如果您注意到''已經在這是我爲什麼要問的原因之一。不能嵌套另一個'{}'塊,我可以。 – TheLearner

+0

其實,你可以。 –

+1

看到什麼時候使用'{}'它意味着一些表達式,並且基於表達式返回JSX,現在當您在JSX中再次啓動''時,再次使用{},它可以嵌套到任何級別: ) –

相關問題