【发布时间】:2020-10-18 17:44:01
【问题描述】:
完整的警告消息:警告:无法对未安装的组件执行 React 状态更新。这是一个空操作,但它表明您的应用程序中存在内存泄漏。要解决此问题,请在 useEffect 清理函数中取消所有订阅和异步任务。
此警告不会持续显示,它会在感觉时显示。应用刚启动时的大多数时间。
export default class something extends React.Component {
_isMounted = false;
state = {
};
componentDidMount() {
this._isMounted = true;
firebase = new Fire((error, user) => {
if (error) {
return alert('something something something something');
}
firebase.getLists((lists) => {
this.setState({ lists, user }, () => {
this.setState({ loading: false });
});
});
this.setState({ user });
});
}
componentWillUnmount() {
this._isMounted = true;
firebase.detach();
}
这是在另一个包含所有 firebase 代码的文件中
detach() {
this.unsubscribe();
}
我猜这与 detach firebase.detach 有关
【问题讨论】:
-
您是否尝试过在此question 中实施建议的解决方案?
-
@Tejogol 是的,我有,我要再试一次
-
@Tejogol 我 1 天没有错误,然后它又回来了 Rip
-
按照我上面分享的问题添加`_isMounted`变量后,您是否仍然遇到相同的错误?如果是这样,您能否更新您的问题以反映您的实施情况。
标签: javascript reactjs react-native react-native-android