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

247
Views
No se puede acceder a los datos en el objeto de estado redux

Tengo un problema al renderizar una página dinámica en NEXT.JS. Al hacer clic en un elemento de la lista SÍ me redirige a la página de detalles , los datos en la página de detalles aún no están disponibles.

Obtengo el poData en la página de detalles, y si trato de iniciar sesión en la consola, funciona perfectamente y cierra la sesión de todas las claves que contiene.

Sin embargo, cuando trato de representar las claves individuales en poData , por ejemplo, poData.refId , aparece un error que dice que no se puede leer refId de undefined . (línea 30)

( refId es también el pageId utilizado en la redirección que prueba que los datos son válidos) Esto no tiene sentido porque en la línea 29, el poData se registra en la pantalla y no arroja el error.

Además, si solo registro el poData sin intentar acceder a los datos anidados en el objeto, puedo ver el objeto que contiene todos los datos anidados cuando está conectado en la pantalla.

Código de segmento Redux:

 import { createSlice } from "@reduxjs/toolkit"; import purchaseOrdersDb from '../../db/purchaseOrders' const initialState = [ ]; const poSlice = createSlice({ name: "po", initialState, reducers: { addPO(state, action) { // Check PO List for duplicates const duplicateIndex = state.findIndex(el => el.refId === action.payload.refId) // Add the new PO duplicateIndex < 0 ? state.push(action.payload) : console.log(`Duplicate Found`);; }, }, }); export const poActions = poSlice.actions; export default poSlice;

Código de componente:

 /* Next Functions */ export async function getStaticPaths() { return { paths: [ { params: { refId: '1' } } ], fallback: 'blocking' } } export async function getStaticProps(context) { const pid = context.params.refId; return { props: { pid } } } /* Page Component Function */ export default function POdetail(props) { const poData = useSelector(state => { return state.po.find(item => item.refId === props.pid) }) poData && console.log(poData); poData.refId && console.log(poData.refId); return ( <> <h1>{poData.refId} </h1> </> ) }

La captura de pantalla del error. Código Captura de pantalla de la dinamiCódigo Captura de pantalla de la porción redux relevante

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