Ok. Jetzt hab ich mal die Werte ("a":+100 | "b"+200 | "c" + 400) angepasst um eine eindeutige Aussage zu bekommen.
- Es werden also die Fälle „a“,„b“ und „c" abgearbeitet. Dieses widersinniger Weise in einer Schleife, die dann per case eben diese Flle unterscheidet. (Wer, bitte, macht denn sowas?)
Aber in der Webseite wirksam wird nur der Fall „c". Grund ist ganz stumpf, dass in der Zeile
this.setState( { intBudget: this.state.intBudget + intAmount } );
in allen drei Fällen der Wert aus der Webseite vor dem „Click“ benutzt wird.
Du kannst Dich davon überzeugen, in dem Du hinter jedes case "[a|b|c]":
einfach
console.log( this.state.intBudget );
notierst.
Möglicherweise willst Du das
ReactDOM.render( <App />, document.getElementById("root") );
in die cases aufnehmen. Oder das Jahr 2000 nach einer Variable rufen hören.
(Und ich hab wieder mal gesehen, welch verdammt guten Grund ich habe, derlei Zeug nicht verwenden zu wollen.)