部分页面正在加载视图

问题描述 投票:0回答:2

在我的反应管理应用程序中,当我进入某些部分时,我看到默认加载页面,但我无法理解原因。当我在重定向到 http://localhost:3000/#/login 之前转到 http://localhost:3000/#/ 时,以及当我转到另一个可用部分(如果我未登录)时,它似乎会出现。奇怪的是,我有另一个公共页面,但它加载得很快,没有显示加载页面(这就是说这不应该是公共页面的问题)。

这是显示的默认加载页面(顶部有一个加载微调器,但在屏幕截图中位于开头):

这是 Firefox Profiler,我希望它是可以理解的。

可能是什么问题?我该如何调试它?

reactjs react-admin
2个回答
0
投票

我认为私有路由受到某种逻辑的保护,该逻辑从后端对用户进行身份验证,在允许他进入该页面之前导致加载屏幕,如果他未经过身份验证,则该逻辑会将用户重定向到登录页面并公开页面,不需要验证用户逻辑,因此那里没有加载屏幕。


0
投票

正如 Bilal 所猜测的,react-admin 必须先从您的 authProvider 获取一些信息,然后才能呈现 Admin。

  • 如果您将
    requireAuth
    设置为
    true
    ,它会呼叫
    authProvider.checkAuth()
  • 如果您提供了 authProvider,它也会在所有情况下调用
    authProvider.getPermissions()

这是显示侧面菜单所必需的(因为某些资源可能只有在具有所需权限的情况下才可见),并声明到路由器的路由。

请随意查看代码以了解完整的逻辑。

正如您在其中所看到的,即使

status
仍然等于
'loading'
,某些路线仍然可以访问:
customRoutesWithoutLayout
(即不使用默认布局呈现的路线,因此不使用侧面菜单)。

因此,我想说您的应用程序中立即可用的公共路线可能是带有

noLayout
的路线。

© www.soinside.com 2019 - 2024. All rights reserved.