我现在有一个需要登录的React网站。加载页面时,React需要检查您是否已登录(通过调用Web服务器)。
如果用户登录(isAuthenticated = true
,则显示该网站,如果用户登录isAuthenticated = false
,则显示登录页面。
isAuthenticated = false
默认情况下,因此,如果用户已登录,则在可以检查用户是否登录之前会短暂地查看登录页面。
其他网站如何处理此问题?看来Facebook能够在启动时知道您是否登录。
答案 0 :(得分:0)
听起来您已经设置了身份验证,只是在尝试防止经过身份验证的用户在初始加载时看到登录页面闪烁在屏幕上。
在这种情况下,您可以最初将isAuthenticated
设置为非布尔值(null
或undefined
),在进行身份验证时显示加载组件,并渲染应用只有准备好了。
例如,在您的主App文件中,您可以使用类似以下内容的
:render() {
// use strict equality check
return isAuthenticated === null ? <IsLoading /> : <App />
}
<IsLoading />
是加载微调器,而<App />
是当前从头开始渲染的组件。