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

175
Visualizações
Componente Async React Select cómo cambiar el argumento de la función loadOptions

Tengo un componente de selección asíncrona de reacción. Este componente tiene accesorios loadOptions , donde debe pasar una función para cargar datos. Por el momento se ve así

 const MyComponent = () => { const [positionId, setPositionId] = useEffect(''); return ( { positionId && <AsyncSelect loadOptions={(search, prevOptions, additional) => loadMyOptions(search, prevOptions, additional, positionId)} (...other props) /> } <Input value={positionId} onChange={(e) => setPositionId(e.target.value)} /> ) }

La función loadMyOptions describe la lógica de carga de datos. Esta función toma el último parámetro, positionId , que cambia según lo que se ingresó en el campo de entrada. Ahora, si ingresa un valor en el campo de entrada, aparece AsyncSelect y carga las opciones necesarias. Pero si después de eso ingresa algo más en la entrada y cambia el positionId , e intenta cargar nuevos datos en AsyncSelect , entonces no envía una solicitud al backend con el nuevo valor de positionId .

Traté de envolver la función en useCallback

 const loadNewOptions = useCallback( (search, prevOptions, additional) => { return loadMyOptions(search, prevOptions, additional, positionId); }, [positionId] );

Pero no ayudó. Dígame cómo hacer que al cambiar positionId y hacer clic en AsyncSelect , una solicitud con un nuevo valor de positionId vaya al backend.

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Parece que hay una condición de carrera en algún lugar de su código, pero no tiene que usar el ID de posición "externo", en su lugar, use el que pasa en su lugar:

 const loadNewOptions = useCallback((search, prevOptions, additional, posId) => { return loadMyOptions(search, prevOptions, additional, posId) }, [])
about 4 years ago · Juan Pablo Isaza 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