gpt4 book ai didi

reactjs - 如何在同一页面切换多个react组件

转载 作者:行者123 更新时间:2023-12-03 14:07:42 25 4
gpt4 key购买 nike

我有一个使用material-ui列表构建的用户仪表板。对于每个 listItem,我都有一个组件。我想要的是,当我单击列表元素时,有一个专门用于切换组件的部分。我在实现此操作时遇到问题。这是我的代码。我不确定将 onClick 处理程序放在哪里。我将不胜感激任何线索。甚至在单击特定列表项时登录。然后我可以继续使用 react 条件渲染。在下图中,当用户单击“所有事件”时,右侧会呈现一个组件。单击 MyEvents 时,会呈现其组件。

enter image description here

代码:

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)

最佳答案

您应该使用 React Router(或任何类似的路由库)。

https://github.com/ReactTraining/react-router

https://reacttraining.com/react-router/web/example/basic

In the picture below, when a user clicks All events, a component for that is rendered on the right. When MyEvents is clicked, a component for it, is rendered.

如果用户可以浏览到 /my-events/all-events 或为它们添加书签,也可能会有所帮助。当用户按下浏览器中的后退/前进按钮时会怎样?

使用路由库可以为您解决所有这些问题(以及更多!)。

关于reactjs - 如何在同一页面切换多个react组件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50433221/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com