reactjs - 根据用户权限显示菜单列表
问题描述
当我登录时,我为所有用户获得了相同的菜单列表。但是,我需要使用 react-admin 根据他们的角色为不同的用户显示不同的菜单项。
const cardActionStyle = {
zIndex: 2,
display: 'inline-block',
float: 'right',
};
const PostShowActions = ({ permissions, basePath, data, resource }) => (
<CardActions style={cardActionStyle}>
<EditButton basePath={basePath} record={data} />
{permissions === 'admin' &&
<DeleteButton basePath={basePath} record={data} resource={resource} />
}
</CardActions>
);
export const PostShow = ({ permissions, ...props }) => (
<Show actions={<PostShowActions permissions={permissions} />} {...props}>
<SimpleShowLayout>
<TextField source="title" />
<RichTextField source="body" />
{permissions === 'admin' &&
<NumberField source="nb_views" />
}
</SimpleShowLayout>
</Show>
);
解决方案
更改组件功能以能够控制台记录权限道具,例如
const Component = ({permissions, ...props}) => {
console.log("permissions", permissions)
return <YourComponentRendering/>
}
如果权限对象未定义,您可以<WithPermissions>
从 React-Admin 导入,以便在您的组件上拥有权限支持。检查授权以获取更多信息。
推荐阅读
- react-native - 在 React Naitve 中安排许多推送通知
- python - 替换数据框中字典类型列中的文本
- python - 运行时错误:CUDA 内存不足。我试过三种方法
- r - 尝试过滤每个条件的两个观察值
- r - 如何执行计算 chr 和 dbl
- reactjs - 是否可以将 GraphQL 查询拆分为单独的反应查询缓存
- macos - 我无法在 Mac 的根目录中运行脚本来创建 zip 文件
- sqlalchemy - 关系表中的 SqlAlchemy 访问列
- amazon-cloudformation - 如何为多个现有资源编写CloudFormation模板文件,实现一键部署
- android - 从与当地印度语言(旁遮普语)相关的 Playstore 下载时的 Android 特殊行为