因此,我與具有特定角色和權限的用戶合作。這些角色中有兩個是自己的儀表板,但其餘的則不是。所以基本上我做我的App.js
是這樣的:管理員休息時:管理組件應在重新呈現正確登錄時
const AdminProps = {
title: <Header />,
theme: getMuiTheme(SnapbackTheme),
locale: 'en',
restClient,
authClient: AuthClient,
loginPage: LoginPage
}
let AppLayout = <Admin {...AdminProps } />
if (userRoleIs(USER_ROLE_1)) {
AppLayout = (
<Admin {...AdminProps } dashboard={CustomDashboardForThisRole}>
<Resource name="resource1" list={resource1List} />
</Admin>
)
}
if (userRoleIs(USER_ROLE_2)) {
AppLayout = (
<Admin {...AdminProps }>
<Resource name="resource1" list={resource1List} />
</Admin>
)
}
return AppLayout
正如你所看到的,根據所記錄的我可以選擇哪些道具Admin
應有的用戶。這是有用的,這樣的問題是,當你登錄一個用戶,並找出哪個角色,我沒有一個合適的方式來更新道具並重新渲染它。
與具有自定義的儀表板,直到我刷新頁面,管理員正確渲染正確的儀表盤爲用戶用戶登錄時會導致一個空的內容畫面。
我目前的醜陋解決方法:登錄成功時爲window.location.reload()
,但您可以在一秒鐘內看到空的內容屏幕,看起來很糟糕。
我的問題是:是否有重新呈現從authClient的Admin
部件的正確方法?
在此先感謝!
謝謝大家,是的,但這就是admin-on-rest框架應該做的,我只是他們框架的另一個用戶,[他們說不是他們的問題,我應該在這裏發佈](https:// github.com/marmelab/admin-on-rest/issues/790#event-1136592651),跆拳道然後:/ –
我看到,希望有人與管理員休息經驗將能夠幫助你。 –
我們沒有說它不是我們的prb,只是我們只處理github中的錯誤。你能顯示包含你發佈的代碼的組件代碼嗎?我想這是某些東西的渲染方法的一部分? – Gildas