这在注销并重新登录MERN应用程序时给我带来麻烦。我已经阅读了一些有关componentWillUnmount并使用State等内容的内容,但它们都很令人困惑。这就是问题所在。
警告:无法在已卸载的组件上执行React状态更新。这是空操作,但它表明应用程序中发生内存泄漏。要解决此问题,请在componentWillUnmount方法中取消所有订阅和异步任务。 在仪表板中(由ConnectFunction创建) 在ConnectFunction中(在PrivateRoute.js:11处)
import React from "react";
import { Route, Redirect } from "react-router-dom";
import { connect } from "react-redux";
import PropTypes from "prop-types";
const PrivateRoute = ({ component: Component, auth, ...rest }) => (
<Route
{...rest}
render={props =>
auth.isAuthenticated === true ? (
<Component {...props} /> // THIS IS THE LINE THROWING THE ERROR (at PrivateRoute.js:11)
) : (
<Redirect to="/login" />
)
}
/>
);
PrivateRoute.propTypes = {
auth: PropTypes.object.isRequired
};
const mapStateToProps = state => ({
auth: state.auth
});
export default connect(mapStateToProps)(PrivateRoute);
该错误还会随着以下内容而扩大:
XMLHttpRequest.send (async)
push../node_modules/engine.io-client/lib/transports/polling-xhr.js.Request.create @ polling-xhr.js:268
Request @ polling-xhr.js:170
push../node_modules/engine.io-client/lib/transports/polling-xhr.js.XHR.request @ polling-xhr.js:96
push../node_modules/engine.io-client/lib/transports/polling-xhr.js.XHR.doPoll @ polling-xhr.js:126
push../node_modules/engine.io-client/lib/transports/polling.js.Polling.poll @ polling.js:118
push../node_modules/engine.io-client/lib/transports/polling.js.Polling.onData @ polling.js:157
我不能正确关闭XHR请求吗?
编辑 看来我发现请求未完成: 要求网址:ws:// localhost:3000 / sockjs-node 请求方法:GET 状态码:101个交换协议
请求调用堆栈
只是将其扔在那里,浏览器是否在寻找要连接到的“ React Developer Tools”?