当检查其他路由的身份验证状态时,为什么React Router会断开当前的Firebase AuthUser?
当我在路线(家庭,帐户等)之间切换时,会调用onDisconnect()函数,并且状态会在几秒钟内从连接状态变为断开状态再回到连接状态。
路线:
this.listener = this.props.firebase.onAuthUserListener(
authUser => {
this.setState({ authUser });
var myConnectionsRef = this.props.firebase.db.ref('users/'+authUser.uid+'/connected')
var connectedRef = this.props.firebase.db.ref('.info/connected');
connectedRef.on('value', function(snap) {
console.log(snap.val())
if(snap.val() === true){
myConnectionsRef.onDisconnect().set(false).then(() => {
myConnectionsRef.set(true);
})
}
});
});
验证用户监听器:
page.$$
答案 0 :(得分:0)
看来我已经解决了我的问题。
我正在使用React Boostrap Navbar组件,其中包括以下标记:
<Nav.Link>
我用它代替了React Router标签:
<Link>
为了保持我以前的样式,只需包装一个标签,如下所示:
<Nav.Link>
<Link to={ROUTES.DEFAULT_SETTINGS}> Settings </Link>
</Nav.Link>
...已修复在更改样式的同时保持样式的同时失去连接的问题。
因为:
<Nav.Link href={ROUTES.DEFAULT_SETTINGS}> Settings </Nav.Link>
不能正确更改路由,而是刷新页面,是否有更适当的做法来显示Bootstrap链接?