Javascript 将react admin v2升级到v3,权限始终为空且上下文不一致
当我包装Javascript 将react admin v2升级到v3,权限始终为空且上下文不一致,javascript,reactjs,react-admin,Javascript,Reactjs,React Admin,当我包装布局时,我陷入了从v2到v3的react admin升级中,出现了两个奇怪的问题,如下所示: composeLayout(布局){ const ComponentLayout=({references,dispatch,…props})=>(//eslint禁用行无未使用的变量 ( 此屏幕截图显示了当我们尝试从上下文中读取内容时,我们可以看到引用现在是一个空对象: 它在react admin v2中运行良好 我们的目标是: 使用引用对象中的引用,而不是在我们的应用程序中到处写硬引用
布局时,我陷入了从v2
到v3
的react admin升级中,出现了两个奇怪的问题,如下所示:
composeLayout(布局){
const ComponentLayout=({references,dispatch,…props})=>(//eslint禁用行无未使用的变量
(
此屏幕截图显示了当我们尝试从上下文中读取内容时,我们可以看到引用
现在是一个空对象:
它在react admin v2中运行良好
我们的目标是:
- 使用引用对象中的引用,而不是在我们的应用程序中到处写硬引用
- 创建一个
pages
对象,该对象取决于用户对应用程序的权限,这样我们就不会在应用程序的任何地方都写硬链接
最近有什么变化会导致v3中出现这种奇怪的行为?请阅读下面的部分
请注意,不鼓励从上下文直接访问authProvider(且未记录)。如果需要与authProvider交互,请使用新的auth挂钩:
使用登录
使用注销
使用认证
useAuthState
usePermissions我解决了与react admin无关的问题。我在创建的上下文中使用了useState
,防止刷新。删除useState
是解决方案。感谢升级指南v3,但我已经阅读了多次。我根本没有使用authProvider
(因此不是从上下文中)。ra-core
中的WithPermissions
负责调用authProvider
。也许你应该阅读和。这是一个有趣的事实,他们已经从他们的文档中删除了WithPermissions
,并且没有在升级指南中提到这一点。