新しいファイルがアップロードされた後、ファイルのリストを再取得するために、UploadImagesからDisplayImagesにgalleryReload小道具を渡しています。React-redux:親状態の変更で子コンポーネントの動作をトリガーする問題
DisplayImagesを実行するには、無限ループを起こさずに親の状態変更に対してgetImagesアクションを実行するのに問題があります。私は、画像の最初の表示を得ることができますDisplayImagesで
class UploadImage extends React.Component {
constructor(props) {
super(props);
this.state = {
galleryReload: false
};
...
// in render
<DisplayImages galleryReload={this.state.galleryReload} />
:
//works fine on first load
componentWillMount() {
this.props.getImages(this.props.gallery);
}
}
私は本当にトラブル再びアクションthis.props.getImages(this.props.gallery)を実行する方法を考え出すを持っていますファイルがアップロードされた後。
Iは{galleryReload:真}の状態を設定しようとしたアップロードがそうような(親に)完成したら:
//onUploadFinished
this.setState((prevState, props) => ({
galleryReload: true
}));
とcomponentWillUpdateおよび他のライフサイクル・メソッドと子に再度結果をフェッチし、私は維持私自身を無限ループのフェッチに陥りました。私は、これは画像の後に一度だけgetImagesを呼び出すために手直しするにはどうすればよい
if (this.props.galleryReload) {
this.props.getImages(this.props.gallery);
this.setState((prevState, props) => ({
galleryReload: false
}));
}
を:ここで
は、私は次のアップロードが完了するまで、さらにフェッチをフェッチしてから停止するように、様々なライフサイクルメソッドに入れるものの一例ですアップロード?