Как я могу очистить внутренний текст значения ref.current в React?

Как я могу получить доступ к свойству внутреннего текстового значения ref.current.

По console.log(loginField.current) я получил:

      <div class="some name">
   <input aria-invalid="false" id="login" placeholder="Email" type="text" class="other name" value="">
</div>

Я установил loginField следующим образом:

        let loginField = React.createRef();

а также

                <FormControl className={clsx(classes.margin, classes.textField)}>
            <StyledInput
              id={LOGIN}
              type="text"
              value={values.login}
              disableUnderline={true}
              placeholder="Email"
              ref={loginField}             // I set it here
              onFocus={handleFocus}
              error={fieldsErrors.loginError !== ''}
              onChange={handleChange(LOGIN)}
            />
          </FormControl>

Мне нужно очистить внутренний ввод этого div от предыдущих значений.(установите его на '')

заранее спасибо

Рафаэль

1 ответ

Попробуйте использовать состояние, это довольно просто

      const component = () => {
  const [value, setValue] = React.useState("")

  return (
    <FormControl className={clsx(classes.margin, classes.textField)}>
      <StyledInput
        id={LOGIN} // not needed but you can keep for other uses
        type="text"
        value={value}
        disableUnderline={true}
        placeholder="Email"
        error={value !== ''}
        onChange={(e) => setValue(e.target.value)}
      />
   </FormControl>
  )
}

Но если вы все еще хотите использовать Ref, сбросьте его, как

      loginField.current.value = ''

вместо того

      loginField.current.reset();

Для справки о ref ()

Другие вопросы по тегам