2014-12-17 3 views
1

Я пытаюсь выяснить, что именно <ReactiveElement {...this.props} /> находится в реакторе. Я полагаю, что это делает, это реактивный элемент с реквизитом родителя, по существу сокращенный для ReactiveElement(this.props). Или это просто пример кода? Я очень смущен, и я не могу найти никакой документации.Документация/Объяснение для {... this.props}

ответ

3

Это JSX Spread Attributes: «Свойства объекта, который вы передаете, копируются на реквизиты компонента. Вы можете использовать это несколько раз или объединить его с другими атрибутами. Порядок спецификации важен. Более поздние атрибуты переопределяют предыдущие. "

Это вдохновлено spread operator in ES6 и Object Rest/Spread Properties ES7 proposal.

Пример:

var props = { 
    foo: x, 
    bar: y 
}; 
var component = <Component {...props} />; 

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

var component = <Component foo={x} bar={y} />; 

Вы можете изменить некоторые значения, если вы хотите:

<Component {...props} foo={'some other value'} />; 
+0

ЗДОРОВО! Спасибо огромное! Не знал, что искать '...' не будет отображаться в поиске! – ThomasReggi

+1

@ThomasReggi Да, некоторые вещи невозможно найти, поисковые системы должны лучше искать случайные символы. Я знал, что искать только потому, что знал, как этот оператор назван в ES6. Я рад, что это помогло. – rsp