我的渲染函数ClubList
被调用了3次。第一个和第二个包含undefined
权限道具。第三次是像魅力。解决该行为的正确方法是什么,这是预期的吗?双重检查权限的唯一方法是在permissions
未定义的情况下返回null,不是吗?
渲染功能
export const ClubList = ({ permissions, ...props }) => {
console.log(permissions);
return (
<List {...props}
bulkActions={false}
pagination={null}
filters={null}
actions={null}
title="Test Resourse"
>
<Datagrid>
<TextField label="ID" source="id" sortable={false} />
</Datagrid>
</List>
);
};
App.js
import { ClubList } from './resources/clubs';
<Admin
authProvider={authProvider}
dataProvider={adminDataProvider}
i18nProvider={i18nProvider}
customSagas={[realtimeSaga]}
theme={myTheme}
>
<Resource name="clubs" list={ClubList} />
</Admin>
authProvider包含代码
if (type === AUTH_GET_PERMISSIONS) {
const roles = localStorage.getItem(LOCAL_STORAGE_CLUBROLES_KEY);
return roles ? Promise.resolve(JSON.parse(roles)) : Promise.reject();
}