Причина, по которой это происходит:
Компонент Input
из antd
возвращает тег input
html (<input ... />
).
Когда вы передаете Input
в styled
, он также возвращает input
с добавленными стилями.
const StyledInput = styled(Input)`...` // this will return <input ... />
styled(Input)
не похоже на обертку с каким-то элементом вокруг. Он просто получает компонент и добавляет стили.
styled(SomeComponent)
используйте свой реквизит, чтобы стилизовать SomeComponent
, но также передавайте реквизит до SomeComponent
. Это передаст isError
тегу input
(<input isError={...}
/>), и когда вы сделаете это, реагирование попытается найти свойство ввода isError
, которого не существует, сообщив вам об ошибке.
Я надеюсь, что это объяснение поможет вам лучше понять, почему это происходит, но до сих пор вы можете сделать строчные буквы своего имени.
Edit:
Как сказано в других ответах и, глядя на эту статью , вы можете избежать передачи isError
на input
, создав компонент оболочки, удаляющий isError
prop.
const WrappedInput = ({ isError, ...remaining }) => <Input {...remaining} />;
const StyledInput = styled(WrappedInput)`...`