Имея трудное время выяснить, что я делаю неправильно здесь .. и я уверен, что это что-то простое, что мне не хватает. Просто пытаюсь увеличиваем счетчики на состояние всякий раз, когда данные, передаваемые в этот переключатель вызова соответствует каждой категории, но по какой-то причине счетчик не увеличивается ...Реакция: Синтаксис для вызова setState в 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");
};
}); }
Я также попытался это так, но я не» т думаю, что у меня есть ссылка на «это», когда я называю это так:
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");
};
}); }
Большое вам спасибо за вашу помощь!
Когда называется 'countCategories'? – Aaron
сначала вычислите значение, затем установите его. – webdeb