Ich bekomme ein seltsames Verhalten. Die Datei this.props.data unten ist ein Array von meinem Redux-Speicher und ich kann sehen, dass es nicht undefiniert oder leer ist, wenn dieser Fehler auftritt.this.props.data.maps ist NUR eine Funktion, wenn this.props.data.length im selben Block ist
Wenn ich die this.props.data.length > 5
unten herausnehmen, funktioniert alles super .. aber sobald ich es hinzufügen, löst mein Projekt den Fehler this.props.data.maps is not a function
.
{
((this.props.data) !== undefined) ? (
((this.props.data).length > 0) ? (
(this.props.data).map((index) => {
var numberSize = '';
if (index.number > 100000 === 0) {
numberSize = 'Huge number';
} else if (index.number > 1000 === 0) {
numberSize = 'Big number'
} else if (index.number > 100 === 0) {
numberSize = 'Medium number';
} else {
numberSize = 'Small number';
}
return (
<div>
{numberSize}
</div>
);
})
//..beginning here
((this.props.data).length < 5) ? (
<button onClick={this.addToArray}>Add a number to the data</button>
) : (
<span>The data array is full (5 objects). No Numbers can be added.</span>
)
//..ending here. If I take this out, everything runs fine.
) : (
<button onClick={this.addToArray}>Add a number to the data</button>
)
) : (
<button onClick={this.addToArray}>Add a number to the data</button>
)
}
Versteht jemand, warum in den this.props.data.length > 5
Zugabe wird, dass this.props.data.maps is not a function
die Fehler zu werfen?
Dank
fehlt Schließung ')' bei Konditionaloperator? Wird nach dem Aufruf von .map() 'ein Prozess erwartet? – guest271314
Was ist Logik erwartet? – guest271314
Ich habe meinen Code aktualisiert, um mit einem Beispiel zu verdeutlichen, was ich unter "Logik" verstehe. Ja, in jeder Schleife des '.map()' -Aufrufs tritt ein Prozess auf, der mit dem aktualisierten Code ebenfalls verdeutlicht werden sollte. Lass es mich wissen, wenn nicht. Kannst du klären, wo du eine fehlende ')' siehst? – Rbar