Reactjs 在《盖茨比》中,如何在没有内容闪现的情况下将经过身份验证的用户从主页/重定向到/应用程序?

Reactjs 在《盖茨比》中,如何在没有内容闪现的情况下将经过身份验证的用户从主页/重定向到/应用程序?,reactjs,gatsby,reach-router,Reactjs,Gatsby,Reach Router,我正在尝试为web应用程序实现一种常见的用户体验,在这种体验中,经过身份验证的用户会自动从主页重定向到应用程序 例如,在键入https://example.com/在浏览器中,如果我没有登录,我会看到主页。但如果我登录,我会自动重定向到https://example.com/app/ 我目前在我的页面/index.js中有这个: if(auth.user)返回 其中,重定向来自@reach/router 但是,当我这样做时,在重定向开始之前,未经验证的主页会短暂闪烁。有没有办法做到这一点: 在重

我正在尝试为web应用程序实现一种常见的用户体验,在这种体验中,经过身份验证的用户会自动从主页重定向到应用程序

例如,在键入
https://example.com/
在浏览器中,如果我没有登录,我会看到主页。但如果我登录,我会自动重定向到
https://example.com/app/

我目前在我的
页面/index.js中有这个:

if(auth.user)返回

其中,
重定向
来自@reach/router

但是,当我这样做时,在重定向开始之前,未经验证的主页会短暂闪烁。有没有办法做到这一点:

  • 在重定向发生之前没有内容闪现,并且
  • 主页仍然是静态生成的,这样它就可以被谷歌正确地索引以进行搜索引擎优化

  • 谢谢

    您需要您的服务器使用301–303响应代码和指向所需URL的
    位置
    标题(例如
    /app/
    )响应主页请求


    盖茨比不运行任何类型的服务器来响应生产中的请求,唉,因此,如果没有一些重大的黑客攻击,比如默认情况下隐藏所有内容,您无法单独使用盖茨比解决此问题,这将导致谷歌不会为任何内容编制索引。

    您需要您的服务器以301-303响应代码和指向所需URL的
    位置
    标题响应主页请求(例如
    /app/


    盖茨比不运行任何类型的服务器来响应生产中的请求,唉,因此,如果没有一些重大的黑客攻击,比如默认情况下隐藏所有内容,这将导致谷歌不会为任何内容编制索引,你就无法单独使用盖茨比来解决这个问题。

    谢谢你的回复科里,我担心这可能是答案。现在这可能是一个SEO问题,但我想知道谷歌爬虫是否足够聪明,如果我在默认情况下隐藏内容,然后用useEffect钩子取消隐藏,是否会等待页面重新水合Google crawler实际上可能能够处理这种情况,因为我的理解是Google crawler可以运行/呈现javascript内容,例如,页面由javascript生成的web应用。@stevenkkim不太关心Google是否可以为内容编制索引,更多的是当您不在服务器端呈现内容时,它们会受到什么样的惩罚。通过这种方法,您还可以获得显著的缓存命中率。我真的不推荐。谢谢科里,我认为你是对的——不值得冒被处罚的风险。我感谢你的反馈!谢谢你的回复,科里,我担心这可能是答案。现在这可能是一个SEO问题,但我想知道谷歌爬虫是否足够聪明,如果我在默认情况下隐藏内容,然后用useEffect钩子取消隐藏,是否会等待页面重新水合Google crawler实际上可能能够处理这种情况,因为我的理解是Google crawler可以运行/呈现javascript内容,例如,页面由javascript生成的web应用。@stevenkkim不太关心Google是否可以为内容编制索引,更多的是当您不在服务器端呈现内容时,它们会受到什么样的惩罚。通过这种方法,您还可以获得显著的缓存命中率。我真的不推荐。谢谢科里,我认为你是对的——不值得冒被处罚的风险。我感谢你的反馈!