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

88
Visualizações
El controlador de cambios eliminado en React no cambiará la entrada si se define el valor

Estoy codificando un cliente de Reddit simple en JavaScript usando React, y tengo un elemento en mi encabezado que cambia el subreddit que se mostrará, con el rebote de Lodash aplicado dentro del gancho useMemo de React para evitar llamadas handleChange excesivas mientras se escribe.

Sin embargo, cuando la propiedad de valor del elemento de entrada se establece en la variable useState adecuada, la entrada se vuelve imposible de modificar.

Este es el código que funciona, aunque con limitaciones que espero superar:

 import React, { useMemo } from 'react'; import debounce from 'lodash.debounce'; export const Header = ({ subreddit, setSubreddit }) => { const handleChange = ({ target }) => { setSubreddit(target.value) } const debouncedHandleChange = useMemo(() => { return debounce(handleChange, 500) }, []) return ( Superliminal/ <input type='text' onChange={debouncedHandleChange} placeholder={subreddit} autofocus/> ) }

Las cosas se vuelven problemáticas cuando defines la propiedad de valor del elemento de entrada de la siguiente manera: value={subreddit}

Actualmente, no entiendo por qué esto hace que la entrada se vuelva inalterable, y preferiría que el valor, y no solo el marcador de posición, permanezca igual a la variable de estado de subreddit. Especialmente no entiendo porque sin la implementación de rebote, puede definir el valor como la variable de estado sin problemas.

Si es necesario, el código en el archivo App.js para configurar el subreddit es simplemente:

 import React, { useState } from 'react' import { Header } from './components/Header/' function App() { const [ subreddit, setSubreddit ] = useState('all') return ( <> <Header subreddit={subreddit} setSubreddit={setSubreddit} /> </> ) }

¿Podría alguien explicarme por qué mi código no funciona según lo previsto y ayudarme a solucionarlo?

¡¡Gracias por adelantado!!

about 4 years ago · Juan Pablo Isaza
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