Raketenwilli: Nö. Nur das Problem supersuboptimal beschrieben. Lösung nach einfachem Debugging.

Beitrag lesen

problematische Seite

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.)