Вы ищете синтаксис аргумента es6 с именем (который просто разрушает)?
const ChildComponent = ({ propName }) => (
<div>
<h1>Child Component</h1>
</div>
)
const ChildComponent = (props) => (// withoud named, arguments
<div>
<h1>Child Component</h1>
</div>
)
Optionnally есть второй аргумент вашей функции в зависимости от указания ли вы контекста для компонента или нет.
Возможно, было бы полезно wityh ссылки на docs. Как указано в первой статье о функциональных компонентах . Независимо от того, какие реквизиты передаются компоненту, он представлен как объект, переданный как первый аргумент вашему функциональному компоненту.
Чтобы перейти немного дальше, о распространении нотации внутри jsx.
Когда вы пишете в компоненте:
<Child prop1={value1} prop2={value2} />
Что ваш компонент получит это объект Плай, который выглядит следующим образом:
{ prop1: value1, prop2: value2 }
(Обратите внимание, что это не карта, а объект с только строки как ключи).
Так что, когда вы используете распространения синтаксис с объектом JS это эффективно ярлык к этому
const object = { key1: value1, key2: value2 }
<Component {...object}/>
эквивалентно
<Component key1={value1} key2={value2} />
И на самом деле компилирует
return React.createElement(Component, object); // second arg is props
И вы можете, конечно, иметь t wo, но будьте осторожны с порядком. Более конкретный синтаксис (prop = value) должен быть последним: более конкретная инструкция приходит последней.
Если вы:
<Component key={value} {...props} />
Он компилирует
React.createElement(Component, _extends({ key: value }, props));
Если вы (то, что вы, вероятно, следует)
<Component {...props} key={value} />
Он компилирует в
React.createElement(Component, _extends(props, { key: value }));
Где распространяется * Объект.присваивать (или полиполнять, если нет).
Чтобы идти дальше, я бы порекомендовал некоторое время наблюдать за выходом Вавилона с их online editor. Это очень интересно понять, как работает jsx, и в более общем плане, как вы можете реализовать синтаксис es6 с помощью инструментов es5.
Вы работаете с функциональным компонентом компонента или класса? – prosti
Да - моя настройка, как я уже говорил в исходном сообщении – Paulos3000