Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

166
Visualizações
La propiedad 'valor' no existe en el tipo 'nunca'. cuando use el gancho useRef en mui

Estoy usando material UI para crear una página de inicio de sesión y registro, usando useRef para devolver una instancia de referencia de TextFiled y xxxRef.current.value para obtener el valor de entrada.

Puedo ejecutar mi proyecto sin problemas y obtener el value correctamente, pero la consola siempre me recordó que:

 Property 'value' does not exist on type 'never'.

Aquí están mis fragmentos de código:

 const accountRef = useRef(); <TextField variant="outlined" margin="normal" required fullWidth id="account" label="Account" name="account" autoComplete="account" autoFocus defaultValue={account} inputRef={accountRef} /> const payload = { account: accountRef.current?.value ?? '', password: passwordRef.current?.value ?? '', nickname: nicknameRef.current?.value ?? '', };
over 4 years ago · Santiago Trujillo
3 Respostas
Responde à pergunta

0

useRef es genérico si lo usa con TypeScript, por lo que puede definir el tipo de elemento al que se hace referencia como const ref = useRef<Type>();

Mirando las definiciones de tipo para la propiedad inputRef en MaterialUI, dice:

 /** * Pass a ref to the `input` element. */ inputRef?: React.Ref<any>;

Entonces, para una solución, puede definir sus referencias como:

 const accountRef = useRef<any>();

Pero la referencia se pasa a través del campo de entrada dentro del componente, el mejor tipo sería:

 const accountRef = useRef<HTMLInputElement>();
over 4 years ago · Santiago Trujillo Relatório

0

La respuesta correcta debe ser el tipo correcto (HTMLInputElement) al usar useRef():

 const inputRef = useRef<HTMLInputElement>(); const [caretPosition, setCaretPosition] = useState<number | null>(null); const updateCaretPosition = () => { inputRef.current && setCaretPosition(inputRef.current.selectionStart); };
over 4 years ago · Santiago Trujillo Relatório

0

Tenga en cuenta que hay otros tipos que podrían agregarse a useRef.

Algunos otros tipos tal vez:

  • HTMLElement
  • HTMLFormElement
  • number
  • string
  • etc...

useRef se usa comúnmente para usar una referencia de un elemento HTML, pero también podría usarse para almacenar datos.

over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda