Когда ты не указываешь значение пропса в React, он по умолчанию становится true. Это значит, что вот эти выражения делают одно и то же:
<MyInput autocomplete />
<MyInput autocomplete={true} />
Это поведение существует, чтобы соответствовать стандартным HTML-конвенциям, где булевы атрибуты вроде disabled, checked и autocomplete обычно используются без явных значений.
Не рекомендуется полагаться на этот неявный дефолт true, потому что это может вызвать путаницу с синтаксисом сокращения объектов в ES6. Например:
{name} это сокращение для {name: name}Для ясности и удобства поддержки явно передавай булевы значения:
<MyInput autocomplete={true} />
Такой явный подход сразу показывает, что ты имеешь в виду, и предотвращает возможные недоразумения при код-ревью или работе в команде.
Когда булев проп опущен в компоненте React, он автоматически получает значение true, так что <Button disabled /> эквивалентен <Button disabled={true} />.
Новый — ещё не проверен сообществом
Вы