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

201
Visualizações
No puedo encontrar la manera de usar Selector de redux-toolkit dentro del controlador de eventos y pasarle parámetros

Hay un controlador de eventos para hacer clic y cuando se activa, quiero extraer datos específicos de redux usando el selector donde se implementa toda la lógica de muchos a muchos. Necesito pasarle una identificación para recibir sus datos individuales. Según las reglas de reacción, los ganchos se pueden llamar en una función que no es un componente de la función React ni una función React Hook personalizada.

Entonces, ¿cuál es la manera de resolver mi problema?

 const handleMediaItemClick = (media: any): void => { // For example i check media type and use this selector to pull redux data by id const data = useSelector(playlistWithMediaSelector(imedia.id)); };
about 4 years ago · Juan Pablo Isaza
2 Respostas
Responde à pergunta

0

Como se indica en el mensaje de error, no puede llamar a ganchos dentro de funciones. Llamas a un gancho dentro de un componente funcional y usas ese valor dentro de la función. El useSelector actualiza la variable cada vez que cambia el estado y representa ese componente.

Además, cuando obtenga datos con useSelector , debe escribir el nombre del reductor que necesita del estado redux.

 const CustomComponent = () => { // The data will be updated on each state change and the component will be rendered const data = useSelector((state) => state.REDUCER_NAME); const handleMediaItemClick = () => { console.log(data); }; }

Puede consultar esta página para obtener más información. https://react-redux.js.org/api/hooks#useselector

about 4 years ago · Juan Pablo Isaza Relatório

0

Probablemente debería usar el valor del estado local para rastrear eso.

 const Component = () => { const [imediaId, setImediaId] = useState(null); const data = useSelector(playlistWithMediaSelector(imediaId)); function handleMediaClick(id) { setImediaId(id) } useEffect(() => { // do something on data }, [imediaId, data]) return <div>...</div> }

¿Eso ayuda?

EDITAR: deduzco que lo que quieres hacer es poder llamar al selector donde lo necesites. Algo así como (considerando el código anterior) data(id) en handleMediaClick . Apuesto a que tienes que devolver una función curry de useSelector , en lugar de valor. Entonces lo llamarías. Por desgracia, no he descubierto cómo hacerlo, si es posible y si es un patrón aceptable o no.

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