Функциональный компонент - это функция, которая получает один параметр: props
. Поскольку реквизит всегда является объектом, вы можете выбрать деструктурировать его свойства в свои собственные переменные, используя этот синтаксис.
Это не ограничивается функциональными компонентами. Рассмотрим следующую функцию:
cont myObj = {
val: 'foo',
other: 'bar'
}
function myFunction({ val, other }) => {
return val + other;
}
myFunction(myObj); // foobar
Это способ более явно объявить требования к параметрам функции при использовании объекта в качестве аргумента, а также назначить их переменным, чтобы вам не приходилось ссылаться на каждый из них. один как myObj.val
или myObj.other
.
Таким образом, эквивалент функционального компонента будет:
<MyComponent val="foo" other="bar" />
// Underneath react still calls our functional component like this
// where props is an object containing val and other
MyComponent(props)
const MyComponent = ({val, other}) => {...}