Ich mag nicht Object.entries(object).map((key, i)
verwenden, weil ich herausgefunden habe, dass dies eine experimentelle Technologie von ECMAScript 7 ist und ich denke, dass etwas in der Produktion schief gehen kann. Gibt es eine alternative JavaScript-Alternative?React.js richtiger Weg zum Iterieren über Objekt anstelle von Object.entries
Ich habe keine Probleme mit Werten von Name, Preis, Beschreibung, weil ich genau weiß, wo sie gerendert werden sollen und ich kann mit Populate.key zugreifen, aber für die Eigenschaften muss ich über Objekt lesen und beide Schlüssel rendern und Wert.
Ich habe versucht, Object.keys(priceChars).map(function(key, i)
zu verwenden, aber nicht verstanden, wie Schlüssel von Wert zu trennen. Wie es war, Rendering "Leistung 500", aber ich brauche Performance-Wort, um in einer Icon-Klasse zu sein, und 500 ist ein tatsächlicher Wert angezeigt werden.
Meine JSON Struktur
const Populate = {
'name': "Product",
'price': "1000",
'description': "Product description",
'characteristics': {
'performance': '500',
'pressure': '180',
'engine': '4',
'size': '860*730*1300',
'weight': '420'
}
}
Und Komponente
class PriceBlock extends Component {
render() {
const {priceName, priceDesc, priceVal, priceChars} = this.props;
const characteristics = Object.entries(priceChars).map((key, i) => {
return (
<div className="price__icon-row" key={i}>
<i className={'ico ico-' + key[0]}></i> <span>{key[1]}</span>
</div>
);
});
return (
<div className="col-5 price__block">
<div className="price__name">{priceName}</div>
<div className="price__description">{priceDesc}</div>
<div className="price__icons">
{characteristics}
</div>
<div className={ managePriceClass(priceVal) }>{priceVal}</div>
</div>
);
}
}
@Endless: Diese Frage hat nichts grundsätzlich mit zu reagieren. –
Wenn Sie einen Compiler wie Babel verwenden, sollte dies keine Rolle spielen, solange Ihre Konfiguration richtig eingestellt ist. – Dom