Миша Ковальчук
а кто-нибудь может объяснить как работает выражение: const Header =({title}) =>{ }
Как я понимаю, создается объект, в который передается анонимная функция, с параметром title, в этой функции происходят какие-то действия. Но мне не понятно, каким образом эта функция связана с объектом Header. Что происходит с этим объектом? Он сам превращается в функцию, с параметром title?
И так-же не понятна конструкция <Header title={'Hello'}/>
Здесь title это атрибут? Но как это всё устроено? Как параметр функции, объекта Header, становится атрибутом?
Объясните пожалуйста.
{title} - деструктуризация объекта, из всех ключей переданного функции объекта, она возьмёт только с соответствующим названием.
В случае с редаксом, функция принимает некоторые необязательные аргументы - пропсы, и возвращает JSX объект, в которые может эти самые пропсы передавать
Деструктуризация нужна для, скорее визуального упрощения (возможно, на скорость кода это тоже влияет, точно не могу судить, я не на столько хорошо знаю джэс)
<Header title="Hello" />
означает, что вы вызываете компонет (функцию)
Header
и передаёте в него проп
title
, чтобы использовать его в самом компоненте, нужно куда-то передать, собственно, например так:
const Header = ({ title }) => {
return (
<View>
<Text>{title}</Text>
</View>
)
}
без деструктуризации было бы как-то так:
... (props) => ...
...
...{props.title}...
...