用户注册后,将通过Firebase向他们发送一个确认链接,该链接指向其电子邮件地址。如果未验证帐户,则用户将无法与应用程序上的任何内容进行交互。验证帐户后,React状态会更改,从而启用应用程序上的元素,以便用户可以开始交互。有什么方法可以监听对当前用户的auth对象的更改,以便在用户单击确认链接后可以更改状态?
我尝试设置这样的计时器,但实际上并没有实时检查currentUser.emailVerified
:
timer.addEventListener('secondsUpdated', () => {
this.setState({ timer: timer.getTimeValues().seconds });
this.forceUpdate();
console.log(auth.currentUser.emailVerified);
auth.onAuthStateChanged(user => {
console.log(user.emailVerified);
});
});
即使用户单击确认链接,两个日志都返回false
。如果要验证用户的帐户,我不想强迫用户必须刷新页面才能启用元素。有什么想法吗?