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

181
Views
No sé cómo acceder correctamente a obtener resultados en estado redux con ganchos

Estoy tratando de obtener datos de mi backend a mi tienda redux para acceder a ellos en mi componente React funcional. (Usando ganchos en lugar de clases)

Cuando intento obtener los datos en el componente mismo de esta manera:

 useEffect(() => { const fetchCategories = async () => { const res = await trees.get('/categories') setCategories(res.data) } fetchCategories() }, [])

funciona y tengo acceso a los datos, pero obviamente no está en la tienda redux, solo en el estado de mis componentes. (Tengo mi axios.create en un archivo separado, por lo que puedo buscarlo con tree.get)

Y buscar en mi creador de acciones también funciona, puedo enviar con éxito los datos de las respuestas a mi tienda redux de esta manera:

 export const fetchCategories = async () => { const res = await trees.get('/categories') dispatch({ type: FETCH_CATEGORIES, payload: res.data }) }

estado en mi tienda redux

Pero no sé cómo ejecutar correctamente mi creador de acciones para acceder a los datos en la tienda redux desde mi React Component. Probé varias cosas como:

 const [categories, setCategories] = useState([{ "value": "loading...", "icon": "music" }]) useEffect(() => { const plsWork = async () => { const res = await fetchCategories() console.log(res) } plsWork() }, [])

o useSelector Hook de redux, pero no pude encontrar una manera, eso está funcionando. :(

over 4 years ago · Santiago Trujillo
2 answers
Answer question

0

Usó el gancho useDispach para actualizar los datos de la tienda redux y debe usar el gancho useSelector para obtener los datos de estado que desea.

 const categories = useSelector((state) => state.categories)
over 4 years ago · Santiago Trujillo Report

0

También debe pasar el envío, ya que puede usar useDispatch hook solo en el componente funcional. Así que para esto:

 export const fetchCategories = async ()=> (dispatch)=> { const res = await trees.get('/categories') dispatch({ type: FETCH_CATEGORIES, payload: res.data }) }

Luego, en el componente donde desea acceder al estado, debe usar useSelector hook

 const dispatch=useDispatch(); const categories=useSelector((state)=>state.reducerName.categories); // if you have more than one reducer write here reducername which you have assigned it in the combineReducer or if you are using only single reducer then you can also access it simply by state.categories useEffect(() => { dispatch(fetchCategories()); }, [])
over 4 years ago · Santiago Trujillo 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!