Ich habe eine harte Zeit herauszufinden, was ich hier falsch mache .. und ich bin sicher, es ist etwas einfaches, das ich vermisse. Nur versuchen Zähler auf Zustand zu erhöhen, wenn die in diesen Schalter Aufruf übergebenen Daten jede Kategorie übereinstimmt, aber aus irgendeinem Grunde der Zähler nicht inkrementiert ...React: Syntax für den Aufruf von setState in Switch Return
countCategories(cart) {
cart.map(function(item){
switch (item.type) {
case "beverage": return() => { this.setState({
countBeverage: this.state.countBeverage + 1
}); }
case "fruit": return() => { this.setState({
countFruit: this.state.countFruit + 1
}); }
case "vegetable": return() => { this.setState({
countVegetable: this.state.countVegetable + 1
}); }
case "snack": return() => { this.setState({
countSnack: this.state.countSnack + 1
}); }
default: return console.log("unknown category");
};
}); }
ich es auch auf diese Weise versucht, aber ich don‘ t glaube, ich habe einen Verweis auf ‚das‘, wenn ich nenne es so:
countCategories(cart) {
cart.map(function(item){
switch (item.type) {
case "beverage": return this.setState({
countBeverage: this.state.countBeverage + 1
})
case "fruit": return this.setState({
countFruit: this.state.countFruit + 1
})
case "vegetable": return this.setState({
countVegetable: this.state.countVegetable + 1
})
case "snack": return this.setState({
countSnack: this.state.countSnack + 1
});
default: return console.log("unknown category");
};
}); }
Vielen Dank für Ihre Hilfe!
Wann wird 'countCategories' aufgerufen? – Aaron
zuerst den Wert berechnen, dann stellen Sie ihn ein .. – webdeb