更新関数でthis.setProps(myProperty + 1)を呼び出す前と後にconsole.log(myProperty)を実行すると、getDafaultPropsから返されるmyPropertyという整数変数があると仮定して、コンソールはmyPropertyと同じ値をログに記録します。関数の終了後にプロパティが更新され、次にmy関数を呼び出すとmyPropertyは新しい値になりますが、誰かが理由を知っていますか、なぜthis.setPropsが呼び出された直後にmyPropertyが?this.setPropsは自動的に更新されません
お返事いただきありがとうございます。
getDefaultProps: function() {
return { colorIndex: -1 };
},
update: function() {
console.log("clicked and index is " + this.props.colorIndex); //returns -1
this.setProps({colorIndex: this.props.colorIndex + 1});
console.log("index is now " + this.props.colorIndex); /still returns -1
},
値の変更を伴う変数がある場合は、 'setState'と' this.state'オブジェクト –
を使用してください。それは非同期関数なので、コンソールログを更新する時間がありませんでしたか?ちょっとした考え。 – woodwick
なぜ、非推奨の 'setProps'を最初に使用していますか?私はそれが現在のReactにあるとは思わない。 (確認、0.14で削除、https://github.com/facebook/react/pull/5570)いずれにせよ、私は 'setState'のようにすぐには起こらないと思います。 http://stackoverflow.com/a/25142742/438992も参照してください。 2年以上前。 –