Reactjs React admin:在React.component中无法访问权限

Reactjs React admin:在React.component中无法访问权限,reactjs,authorization,react-admin,Reactjs,Authorization,React Admin,我正在使用react admin,并加入了高级教程“从列表页创建和编辑记录”。本教程使用react.component代替常量。现在,我需要根据授权传递的权限对象中的值显示字段。我可以在常量和管理组件中做得很好,但是如果我尝试在react.component中访问它,权限总是空的 class InviteCodeList extends React.Component { render() { const { permissions,push, classes, ...p

我正在使用react admin,并加入了高级教程“从列表页创建和编辑记录”。本教程使用react.component代替常量。现在,我需要根据授权传递的权限对象中的值显示字段。我可以在常量和管理组件中做得很好,但是如果我尝试在react.component中访问它,权限总是空的

class InviteCodeList extends React.Component {
    render() {
        const { permissions,push, classes, ...props } = this.props;
        console.log('permissions');
        console.log(permissions);       
        return (
            <Fragment>
                <List
                    {...props}                    
                    filters={<CustomFilter />} 
                    actions={<CustomActions />}
                    sort={{ field: 'title', order: 'ASC' }}                    
                >
                    <Datagrid>
                        <TextField source="id" />
                        <TextField source="title" />
                        <WithPermissions
                            render={({ permissions }) => (
                                permissions.find(f => f.resource === 'admin') !== undefined
                                    ? <TextField source="invite_code" />
                                    : null
                            )}
                        />                        
                        <ReferenceField source="price_list_id" reference="pricelists">
                            <TextField source="price_list_name" />
                        </ReferenceField>
                        <TextField source="effective_dt" />
                        <DateField source="expiration_dt" />   
                        <EditButton />   
                    </Datagrid>
                </List>
类InviteCodeList扩展了React.Component{
render(){
const{permissions,push,classes,…props}=this.props;
log(“权限”);
console.log(权限);
返回(
(
权限.查找(f=>f.resource==='admin')!==未定义
? 
:null
)}
/>                        

这是新的代码段。我没有检查在API调用返回实际数据之前返回的null


权限!==null?权限。查找(f=>f.resource===admin')!==未定义
? 
:null:null

您不应该在此处使用带权限的
组件。您可以设置一个显示问题的codesandbox吗?您是对的,我不需要WithPemissions。问题是,由于身份验证调用是异步的,因此在实际API调用返回之前,它会返回null作为权限。我添加了null检查,并且它作为expec特德现在。