質問するのはばかげた質問かもしれませんが、reactJSの初心者であると信じてください。 ReactjSでprevStateを使用する理由を誰かが説明してくれませんか。私は一生懸命理解しようとしましたが失敗しました。
これが私のコードです。理解するのを手伝ってください
state = {
placeName : '',
places : []
}
placeSubmitHanlder = () => {
if(this.state.placeName.trim()===''){
return;
}
this.setState(prevState => {
return {
places : prevState.places.concat(prevState.placeName)
};
});
};
詳細を示すコメントアウトされたコードを含むデモは次のとおりです。 http://codepen.io/PiotrBerebecki/pen/rrGWjm
constructor() {
super();
this.state = {
value: 0
}
}
React docs: https://facebook.github.io/react/docs/reusable-components.html#es6-classes
[React ES6クラス] APIは、getInitialStateを除いてReact.createClassに似ています。別個のgetInitialStateメソッドを提供する代わりに、コンストラクターで独自の状態プロパティを設定します。
PrevStateはどこから来たのですか?
PrevStateはsetState apiから取得されます: https://facebook.github.io/react/docs/component-api.html#setstate
シグネチャfunction(state、props)で関数を渡すこともできます。これは、値を設定する前に、state + propsの以前の値を調べるアトミック更新をエンキューする場合に役立ちます。たとえば、stateの値をインクリメントしたいとします。
this.setState(function(previousState, currentProps) {
return {
value: previousState.value + 1
};
});