2016-12-05 3 views
3

Просто начинайте с реактивного маршрутизатора.Что означает {... реквизит} в этом компоненте React?

Я использую [email protected] (версия 4), когда я натолкнулся на этот бит кода в github (внизу). У меня есть слабый React + ES6-fu, поэтому вам нужна ваша помощь.

  1. Здесь {... реквизит} относится к отправке реквизитов в компонент?
  2. Как {... реквизит} здесь влияет на custom = "prop"?

г

<Match pattern="/foo" 
     render={(props) => ( 
     <YourRouteComponent {...props} custom="prop"/> 
     )} 
/> 

ответ

7

рассмотрим следующий пример:

props = { 
    propA: "valueA", 
    propB: "valueB", 
    propC: "valueC" 
}; 

тогда

<SomeComponent {...props} /> 

эквивалентно

<SomeComponent propA="valueA" propB="valueB" propC="valueC" /> 

<SomeComponent {...props} propC="someOtherValue" /> 

эквивалентно

<SomeComponent propA="valueA" propB="valueB" propC="someOtherValue" /> 

Также обратите внимание, что

<SomeComponent propC="someOtherValue" {...props} /> 

станет

<SomeComponent propA="valueA" propB="valueB" propC="valueC" /> 

заказ важен.

Подробнее о JSX Spread Operator ...

+0

в вашем последнем примере propC = "someOtherValue" перезаписывается propC на {... реквизитах}? – Snail

+1

да это право. –

-1

Если {...} реквизита имеет «обычай» атрибут, то пользовательский последнее значение «подпирать» (правое значение).

+0

, пожалуйста, объясните свой ответ –

Смежные вопросы