У меня есть сборка панели пользователя с использованием списка material-ui.Для каждого listItem у меня есть компонент для него.Что я хочу, так это то, что когда я щелкаю элемент списка, появляется раздел, посвященный переключению компонентов.У меня возникли проблемы с реализацией этого. Вот мой код. Я не уверен, где поставить обработчик onClick
.Я буду признателен за любой свинец.Даже вход в систему при нажатии определенного listItem.Тогда я могу пойти дальше и использовать реактивный условный рендеринг.На рисунке ниже, когда пользователь нажимает Все события, компонент для этого отображается справа.При нажатии MyEvents
отображается компонент для него.
Код:
UserTileData.js
export const profileFolderListItems = (
<div>
<ListItem button>
<ListItemIcon>
<SendIcon />
</ListItemIcon>
<Badge badgeContent={3} color='primary'>
<ListItemText primary='Events attending' />
</Badge>
</ListItem>
<ListItem button>
<ListItemIcon>
<CreateIcon />
</ListItemIcon>
<ListItemText primary='New Event' />
</ListItem>
</div>
)
UserProfilePage.js
class UserProfile extends Component {
constructor (props) {
super(props)
this.state = {
componentTodisplay: null
}
}
render () {
const { classes } = this.props
return (
<div>
<div className={classes.root}>
<Drawer
variant='permanent'
classes={{
paper: classes.drawerPaper
}}
>
<div className={classes.toolbar} />
<List >{eventsFolderListItems}</List>
<Divider />
<List>{profileFolderListItems}</List>
</Drawer>
<main className={classes.content}>
<div className={classes.toolbar} />
{/* componentToDisplay goes here */}
</main>
</div>
</div>
)
}
}
UserProfile.propTypes = {
classes: PropTypes.object.isRequired
}
export default withStyles(styles)(UserProfile)