ネットワークコールバックが、アンマウントされたコンポーネントのsetState()を試みて、このno-opに関するデフォルトのコンソール警告を受け取るという問題に直面しています。React:このset.setStateを空の関数に設定すると、アンマウント後の状態の更新を防ぐことはできますか?
なぜ私はアンマウントが起こったのかを追跡することはできませんでしたが、componentWillUnmount()に関数を何も設定しないように提案しました。それはうまくいかず、私はthis.setStateを何も設定しないようにテストしました。下記参照。
エラーが表示されなくなりましたが、それが有効な解決策であるかどうか尋ねたいと思います。ここでは、コード:
componentDidMount() {
this.fetchLogItems(10, 'recentChanges');
}
componentWillUnmount() {
this.setState =() => {};
}
fetchLogItems = (limit, stateRef) => {
let tmpObj = {};
base.fetch('_changelogs', {
context: this,
then(data) {
tmpObj[stateRef] = {...data}
tmpObj.loading = false;
this.setState({...tmpObj})
},
catch(err){console.error(err)}
});
};