Il problema:ritorno elementi accoppiati in Reagire JSX
In Reagire, si vuole creare una struttura DOM mappando un array, ma ogni elemento dell'array deve restituire 2 elementi. per esempio.
import React from 'react'
import _ from 'lodash'
let { Component } = React
export default class DataList extends Component {
render() {
let array = [
{def: 'item1', term: 'term1', obj1: 'rand'},
{def: 'item2', term: 'term2'}
]
return (
<dl>
{_.map(array, (item) => {
return (
<dt>{item.def}</dt>
<dd>{item.term}</dd>
)
})}
</dl>
)
}
}
Reagire non consente il rendering fratelli senza avvolgendoli in un elemento contenitore, che possa annullare la struttura DOM qui.
ha, molto bello ... mi ci sono voluti alcuni secondi per capire come funzionava, che è l'unico lato negativo (cioè leggermente meno comprensibile da una leggibilità del codice POV), ma molto soluzione più elegante, e quella che userò da ora in poi. – stukennedy
Un'altra cosa: in genere non è consigliabile utilizzare l'indice dell'array come chiave. Ecco un ottimo post su di esso: https://medium.com/@robinpokorny/index-as-a-key-is-an-anti-pattern-e0349aece318 – Kiril