TypeScript жалуется, потому что ваш Link
компонент, полученный из react-router
, требует, чтобы вы указали to
prop. Я не уверен, чего вы пытаетесь достичь, но Link
уже должен отображаться как тег <a />
.
Если вы хотите сделать ссылку, скажем, на внешний веб-сайт, вы, вероятно, не хотите использовать styled(Link)
, но styled.a
.
Если вы беспокоитесь о повторении вашего стиля для styled(Link)
и styled.a
, вы, вероятно, захотите написать многократно используемый стиль кнопок, используя вспомогательную функцию css , и включить его в оба ваших стилизованные компоненты.
К сожалению, я считаю, что пока это единственный вариант, так как я был в аналогичном случае и пытался использовать as={Link}
на styled.a
, а TypeScript жалуется на нераспознанные реквизиты. Я полагаю, что реализация полиморфной поддержки as
в TypeScript не является полностью функциональной, поэтому позже может быть исправлено.