Quiero representar mis elementos de acuerdo con la clasificación, pero no sé por qué no se muestran los elementos en consecuencia. Cuando consuelo los valores para que se muestre correctamente, y cuando revisé el data-order para que muestre el resultado como 1, 3, 2
constructor(props) { super(props) this.state = { properties: [ { order: 3, title: "Title 3", type: "checkbox" }, { order: 1, title: "Title 1", type: "string" }, { order: 5, title: "Title 5", type: "number" }, { order: 2, title: "Title 2", type: 'checkbox' } ] } } render() { return ( [...this.state.properties].sort((a, b) => (a.order > b.order) ? 1 : -1).map((item, key) => { switch(item.type) { case "string": return <StringComponent data-order={item.order} {...item} />; case "number": return <NumberComponent data-order={item.order} {...item} />; case "checkbox": return <CheckboxComponent data-order={item.order} {...item} />; } }) ) }producción:
<div data-order="1"></div> <div data-order="5"></div> <div data-order="3"></div> <div data-order="2"></div>cuando consuelo el valor para que la salida sea:
[ { order: 1, title: "Title 1", type: "string" }, { order: 2, title: "Title 2", type: 'checkbox' } { order: 3, title: "Title 3", type: "checkbox" }, { order: 5, title: "Title 5", type: "number" }, ]