根据React Native文档,我设置了一个事件监听器来检测网络状态的变化:
componentDidMount() {
NetInfo.addEventListener(
'change',
this._handleConnectionInfoChange
);
NetInfo.fetch().done(
(connectionInfo) => { this.setState({connectionInfo}); }
);
}
componentWillUnmount() {
NetInfo.removeEventListener(
'change',
this._handleConnectionInfoChange
);
}
_handleConnectionInfoChange = (connectionInfo) => {
this.setState({
connectionInfo,
});
};
connectionInfo是在一个单独的方法中呈现的,但除此之外,没有其他更改该状态的实例。当以这种方式设置时,我可以在关闭wifi时检测到第一个更改,并且状态设置为“无”#39;。但是,当我重新连接wifi时,状态不会改变,但保持“无”#。
有什么想法吗?
我已经尝试将this._handleConnectionInfoChange
更改为this._handleConnectionInfoChange.bind(this));
,但这并没有解决问题。
答案 0 :(得分:0)
您能否检查this._handleConnectionInfoChange
未定义。我不确定你是否可以在ES6 _handleConnectionInfoChange = (connectionInfo) =>{ }
的课程中声明这样的方法
请尝试使用此_handleConnectionInfoChange(connectionInfo){ }