вы можете написать свой код примерно так:
const isAdmin = useSelector((state) => state.auth.is_admin);
const ListItem = {[
{
id: 1,
text: 'Products',
url: `/products`,
access: false,
icon: <DashboardIcon/>,
},
{
id: 2,
text: 'Settings',
url: `/settings`,
access: true,
icon: <AssignmentTurnedInIcon/>,
},
].map((obj, index) => (
obj.access === false && isAdmin || obj.access === true?
<ListItem button key={obj.id} onClick={() => props.history.push(obj.url)} {}>
<ListItemIcon>{obj.icon}</ListItemIcon>
<ListItemText
disableTypography
primary={
<Typography type="body1" style={{ color: '#FFFFFF' }}>
{obj.text}
</Typography>
}
/>
</ListItem>
: ''
))}
const drawer = (
<div>
<Divider />
<List>
{ListItem}
</List>
<Divider />
</div>
);
access is false and isAdmin is true
истинно, когда меню предназначено для роли администратора, а obj.access === true
, когда меню предназначено для всех.
obj.access === false && isAdmin || obj.access === true