Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

486
Vistas
Ordenar el estado (matriz de objetos) por fecha en React

Digamos que le dan una serie de objetos en su estado React, como este:

 [ { "id": "…", "title": "Brief history of Space Shuttle program", "date": "2016-10-29 19:00:00+01:00", "venue": "NASA History Museum" }, { "id": "…", "title": "Why did the Challenger explode?", "date": "2016-11-31 18:30:00+01:00", "venue": "Albert II Library Building" } ]

Ahora desea ordenar esto por fecha, digamos que tiene un foro o algo similar, donde la primera publicación debe ser la más reciente según la fecha.

¿Cómo lo ordenarías? Este fue mi intento:

 function sortExample (dataToSort) { let test = [...dataToSort]; test.sort((a,b) => new Date(a.date) - new Date(b.date) }

Desafortunadamente, eso no funcionó del todo bien. Y lo más importante, ¿dónde colocaría esta función? Lo puse en mi useEffect , eso tampoco pareció funcionar para mí.

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Tienes dos opciones:

  1. Ordenarlo antes de establecer Estado, esto se recomienda si solo necesita los datos en este orden en todas partes.
  2. Ordenarlo donde usa los datos pero mantener los datos originales tal como están en el estado.

Digamos que tenemos:

 const [dataInState, setDataInState] = useState([]);

El primero:

 useEffect(() => { fetch("/data") .then(res => res.json()) .then(json => setDataInState(json.sort(myCompareFunc)) }, [])

Segundo:

Establezca el estado como de costumbre, luego en el cuerpo del componente, antes de regresar:

 const sortedData = [...dataInState].sort(myCompareFunc)

Ahora puede usar sortedData en JSX o en cualquier otro lugar.

Recomiendo el primero por razones de rendimiento.

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda