Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

190
Views
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 answers
Answer question

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 Report

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!