My Reactコンポーネントは、propsに基づいてuserInGroupという状態プロパティを設定します。小道具からの反応コンポーネントの状態を設定し、小道具が変更されたときに更新しますか?
this.state = {
userInGroup: this.props.user
? this.props.user.groups.includes(props.group._id)
: false,
};
これは動作しますが、プロンプトが変更され、userInGroupの値も変更されてページが更新されるまで更新されません。このアップデートを反応的にするにはどうすればよいですか?
多分私はcomponentWillUpdateまたはcomponentDidUpdateを使うことができましたが、idはuserInGroupで使用されているロジックを繰り返すことでしょう。この繰り返しは避けられないのでしょうか?小道具は、実装部品が新しい小道具や親を受け取る前にconstructor/componentDidMount
は一度だけのコンポーネントマウントは、とcomponentWillReceiveProps()
が呼び出されたときに呼ばれているので、変更したときに状態を更新したいとき
はいが含まれている機能を記述することができます。あなたはそれを計算する関数を書くことができます。 – Li357