#reactjs #typescript
Вопрос:
Я знаю, что должен использовать состояние для ввода, максимально избегая прямого доступа к Dom в react, но это уникальная и необходимая ситуация.
Я нашел похожие вопросы на этот, но я не могу воспроизвести их в своем конкретном случае с помощью » reset ()», может кто-нибудь мне помочь?
Код:
import { useRef } from 'react';
const infoInputRef = useRef<HTMLInputElement>(null);
infoInputRef.current.reset();
Ошибка машинописного текста, подчеркивающая сброс():
Property 'reset' does not exist on type 'HTMLInputElement'.ts(2339)
Комментарии:
1. Что заставляет вас думать, что у a
HTMLInputElement
должен быть метод с именемreset()
?2. Две вещи: 1)
but this is a unique and necessary situation.
— я сильно в этом сомневаюсь. 2) В соответствии со спецификацией ( developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement )reset
в HTMLInputElement отсутствует, поэтому ошибка верна.3. Согласен с вами обоими, но как мне сбросить ввод?
4.
infoInputRef.current.value = ''
я думаю.5. Ну, это зависит от того, что вы понимаете под «сбросить» (вероятно, установив его значение на какое-то значение по умолчанию) и откуда берутся значения по умолчанию … Но в целом это было бы
infoInputRef.current.value = whateverDefaultValue