I wie unten eine IF-Anweisung haben, wo die JSX Argumente (wenn es das ist, was sie genannt werden) die jeweils gleich sind, ist der einzige Unterschied ist die Komponente, die wiedergegeben wird:Viele verschiedene React/JSX-Elemente alle mit den gleichen "Argumenten" - wie kann man dasselbe Argument übergeben, ohne es erneut zu schreiben?
if (type === 'currencySalaryBonus') {
return <CurrencySalaryBonus key={questionID} data={this.props.data} answer={this.props.answer} nextStepCallback={this.props.nextStepCallback} showTitle={this.props.showTitle} />;
} else if (type === 'age') {
return <Age key={questionID} data={this.props.data} answer={this.props.answer} nextStepCallback={this.props.nextStepCallback} showTitle={this.props.showTitle} />;
} else if (type === 'name') {
return <Name key={questionID} data={this.props.data} answer={this.props.answer} nextStepCallback={this.props.nextStepCallback} showTitle={this.props.showTitle} />;
}
.... the list goes on
Ich frage mich, wenn es einige syntaktische Zucker war, dass ich bin mir nicht bewusst, dass bedeutet, dass ich so etwas wie
if (type === 'currencySalaryBonus') {
return <CurrencySalaryBonus {object} />;
} else if (type === 'age') {
return <Age {object} />;
}
.....
oder jede andere Art und Weise tun, kann ich dies weniger schrecklich machen - diese Aussage IF hat etwa 30 Bedingungen.
Vielen Dank für Ihre Hilfe!
Ich benutze Webpack mit Babel - ES6/7 so können die moderneren Funktionen, wenn das hilft.
Setzen Sie sie in die Objektvariable und verwenden Sie den Spread-Operator: '{... args}' – Flying