Ответы пользователя по тегу React
  • Почему {...props} с библиотеки не работают в next.js?

    TemaSM
    @TemaSM
    Fullstack, DevOps, InfSec
    Ошибка возникает потому, что тип AuthFieldProps, который вы определили, не включает в себя свойства type, placeholder и required, которые передаются через оператор spread {...props} в input.
    Когда компилятор TypeScript пытается присвоить значения type, placeholder и required к типу AuthFieldProps, он обнаруживает, что эти свойства не определены в интерфейсе AuthFieldProps и выдает ошибку.

    Чтобы решить эту проблему, вам нужно добавить свойства type, placeholder и required в интерфейс AuthFieldProps.

    Рассмотрев тайпинги вашей либы reconnect-ui (которую кстати не обязательно было публиковать на npm), вижу как раз это:
    64033ea6ddbe0579804563.png
    Как можно пофиксить:
    export interface AuthFieldProps extends React.HTMLProps<HTMLInputElement> {
        heading: string
    }

    Здесь мы расширяем интерфейс AuthFieldProps с помощью React.HTMLProps<HTMLInputElement>, чтобы включить все свойства, которые могут быть переданы в input, включая type, placeholder и required.
    Теперь TypeScript не будет выдавать ошибку и ваш компонент должен работать как в React-проекте, так и в Next.js проекте.
    Ответ написан
    Комментировать