ВС
(Взглянул на семантику, понял что правильно сделал)
Size: a a a
ВС
И
ВС
И
ВС
Р
Р
<Box />
бесполезен или это всё же очепятка и должно бытьreturn (
<span>
<Box>
{addonBefore}
{iconLeft && <Icon side="left" component={iconLeft} />}
{iconRight && <Icon side="right" component={iconRight} />}
<Control
{...props}
aria-invalid={state === 'error'}
disabled={disabled}
aria-describedby={hint ? hintId : undefined}
/>
{addonAfter}
</Box>
{hint && (
<Hint leave={hintLeave} onAnimationEnd={onAnimationEnd} id={hintId}>
{hint}
</Hint>
)}
</span>
);
Р
<Box />
бесполезен или это всё же очепятка и должно бытьreturn (
<span>
<Box>
{addonBefore}
{iconLeft && <Icon side="left" component={iconLeft} />}
{iconRight && <Icon side="right" component={iconRight} />}
<Control
{...props}
aria-invalid={state === 'error'}
disabled={disabled}
aria-describedby={hint ? hintId : undefined}
/>
{addonAfter}
</Box>
{hint && (
<Hint leave={hintLeave} onAnimationEnd={onAnimationEnd} id={hintId}>
{hint}
</Hint>
)}
</span>
);
render-override
или @bem-react/di
?PН
<Box />
бесполезен или это всё же очепятка и должно бытьreturn (
<span>
<Box>
{addonBefore}
{iconLeft && <Icon side="left" component={iconLeft} />}
{iconRight && <Icon side="right" component={iconRight} />}
<Control
{...props}
aria-invalid={state === 'error'}
disabled={disabled}
aria-describedby={hint ? hintId : undefined}
/>
{addonAfter}
</Box>
{hint && (
<Hint leave={hintLeave} onAnimationEnd={onAnimationEnd} id={hintId}>
{hint}
</Hint>
)}
</span>
);
PН
DK
RY
PН
PН
yW
yW
useInput
, который возвращает все обработчики/aria-атрибуты для данного компонента и есть простая верстка, которая вызывает этот хук и прокидывает его на нужные дом-узлы. Это позволяет пользователям, которым не подходит наш компонент по API использовать хук и написать только свою верстку для этого сценария