Ich habe eine map()
Funktion, die Ansichten basierend auf einer Bedingung anzeigen muss. Ich habe in der Dokumentation Reagieren sehe, wie die Bedingungen zu schreiben und dies ist, wie Sie eine Bedingung schreiben:Wenn Bedingung innerhalb von map() React
{if (loggedIn) ? (
// Hello!
) : (
// ByeBye!
)}
Hier ist der Link: https://facebook.github.io/react/docs/conditional-rendering.html#inline-if-else-with-conditional-operator
So habe ich versucht, dieses Wissen zu nehmen und implemant es in meiner React App. Und es stellte sich so heraus:
render() {
return (
<div>
<div className="box">
{this.props.collection.ids
.filter(
id =>
// note: this is only passed when in top level of document
this.props.collection.documents[id][
this.props.schema.foreignKey
] === this.props.parentDocumentId
)
.map(id =>
{if (this.props.schema.collectionName.length < 0 ? (
<Expandable>
<ObjectDisplay
key={id}
parentDocumentId={id}
schema={schema[this.props.schema.collectionName]}
value={this.props.collection.documents[id]}
/>
</Expandable>
) : (
<h1>hejsan</h1>
)}
)}
</div>
</div>
)
}
Aber es funktioniert nicht ..! Hier ist der Fehler:
ich alle Hilfe schätzen die ich bekommen kann!
Der Fehler ist eine Syntax eins und basiert auf der Tatsache, dass Sie versuchen, einen [** ternary operator **] (https://developer.mozilla.org/en/docs/Web/JavaScript/Reference) zu verwenden/Operatoren/Conditional_Operator) _and_ an [** if **] (https: //developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/if ...else) Anweisung falsch. – Pineda