У меня есть функциональный компонент, который возвращает элемент привязки, который может иметь атрибуты href
и role
, в зависимости от props
, которые ему передаются:
function Item(props) {
return (
<a {...props.toSubMenu && {role: 'button'}} {...props.href && {href: props.href}}>
{props.children}
</a>
);
}
При создании этого компонент, я сначала попытался передать props
без использования оператора распространения следующим образом: <a {props.toSubMenu && {role: 'button'}}>
, но это дало мне ошибку:
Ошибка синтаксического анализа: неожиданный токен, ожидаемый "..."
Итак, на данный момент мой компонент работает так, как я хочу, но я не могу понять , почему я должен использовать оператор распространения . В других частях моего кода (как в строке 4) мне это не нужно. Я читал об этом в этом вопросе и в этом и в документации по реагированию , но я все еще не уверен.