Задать вопрос
BenderIsGreat34
@BenderIsGreat34
junior front-end

Какой тип указать для children.current у TS?

const handleClick = (e: React.MouseEvent<HTMLButtonElement, MouseEvent>, children: ReactNode): void => {
        if (children) {
            const {current}: HTMLUListElement = children;
            if (current) {
                current.scrollTop = list.current.scrollHeight;
            }
        }
    }
setTimeout(() => handleClick(e, props.children), 0);

сыпится ошибка на current:
TS2322: Type 'string | number | true | {} | ReactElement ReactElement Component)> | null) | (new (props: any) => Component<...>)> | ReactNodeArray | ReactPortal' is not assignable to type 'HTMLUListElement'. Type 'string' is not assignable to type 'HTMLUListElement'.
TS2339: Property 'current' does not exist on type 'HTMLUListElement'.


не понимаю как задать current значение HTMLUListElement
  • Вопрос задан
  • 121 просмотр
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Мидл фронтенд-разработчик
    5 месяцев
    Далее
  • Нетология
    Fullstack-разработчик на Python + нейросети
    20 месяцев
    Далее
  • Skillbox
    Веб-разработчик на PHP
    9 месяцев
    Далее
Решения вопроса 1
Aetae
@Aetae Куратор тега TypeScript
Тлен
Возможно ак:
const {current}: {current: HTMLUListElement} = children;

или так:
const current = children.current as HTMLUListElement;

Вы же задаёте тип не current, а всего объекта.

P.S. Про ts-ignore забудьте.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@Rerurk
С //@ts-ignore компилятор все равно ошибку дает?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы