更新Firebase数据库后,“警告:无法在已卸载的组件上调用setState(或forceUpdate)”

时间:2018-07-01 14:15:01

标签: reactjs firebase firebase-realtime-database react-router

我正在尝试在表单提交时将一些数据更新到我的Firebase数据库中,但是当我单击“提交”时,出现以下警告:

  

警告:无法在已卸载的设备上调用setState(或forceUpdate)   零件。这是空操作,但表示您的内存泄漏   应用。要修复,请取消所有订阅和异步任务   在componentWillUnmount方法中。

以下是在提交时执行的代码。如果删除更新代码,警告会消失,但是我需要保存数据如何解决此问题?

        {
            this.state.login
                ? (
                    <div className={styles['app-wrapper']}>
                        <div className={styles['app-wrapper__top']}>
                            <Button classes={{root: this.props.classes.exitButton}} onClick={this.logoutHandler}>
                                exit
                            </Button>
                        </div>
                        <AppRoutes key='appRoutes' fetchManager={this.fetchManager}/>
                    </div>
                )
                : (
                    <LoginRoutes loginHandler={this.loginHandler}/>
                )
        }

0 个答案:

没有答案