我正在使用react-admin,它非常快速且富有成效。但是,我想根据已记录用户的属性实现一些功能,如编程显示资源和crud操作组件。
像这样。
const App = () => (
<Admin restClient={jsonServerRestClient('http://jsonplaceholder.typicode.com')}>
<Resource name="users" list={UserList} haveListPermission={user.hasUsersListPermission}/>
<Resource name="tags" havePermission={user.hasTagPermission} />
</Admin>
);
答案 0 :(得分:1)
此处记录了这些内容:https://marmelab.com/react-admin/Authorization.html
简而言之,Admin
组件接受一个函数作为子项(想想渲染道具),将使用您的权限(来自authProvider
)调用它。因此,假设您使用react-admin
(而不是admin-on-rest
)并且authProvider
在使用AUTH_GET_PERMISSIONS
类型调用时与当前用户进行了解析:
const App = () => (
<Admin authProvider={authProvider} dataProvider={jsonServerRestClient('http://jsonplaceholder.typicode.com')}>
{user => (
{user.hasUsersListPermission && <Resource name="users" list={UserList} />}
{user.hasTagPermission && <Resource name="tags" />
)}
)}
</Admin>
);