我们如何 link 带有应用程序主体的侧边栏菜单项?
How we can link sidebar menu item with app body?
我有一个 react.js 项目,我想要 link 侧边栏菜单,如下图所示。当任何用户单击侧面菜单项时,都可以 link 编辑他们的正文。我在网上搜索了很多资料,它们很容易,但我不知道如何应用这个项目,任何想法将不胜感激。
截图:
App.js:
function App() {
return (
<div className="App">
<Router>
<>
<Header/>
<AppBody>
<Sidebar/>
<Switch>
<Route path="/" exact>
<Chat/>
</Route>
</Switch>
</AppBody>
</>
</Router>
</div>
);}
Chat.js:
function Chat() {
return <ChatContainer>
<h1>Chat screen will be here</h1>
<ChatInput/>
</ChatContainer>
}
export default Chat;
Sidebar.js:
function Sidebar() {
return (
<SidebarContainer>
<SidebarHeader>
<SidebarInfo>
<h2>React</h2>
<h3>
<FiberManualRecordIcon/>
soft
</h3>
</SidebarInfo>
<CreateIcon/>
</SidebarHeader>
<SidebarOption Icon={InsertCommentIcon} title="Threads"/>
<SidebarOption Icon={InboxIcon} title="Mentions & reactions"/>
<SidebarOption Icon={DraftsIcon} title="Saved items"/>
<SidebarOption Icon={BookmarkBorderIcon} title="Channel browser"/>
<SidebarOption Icon={PeopleAltIcon} title="People & user groups"/>
<SidebarOption Icon={AppsIcon} title="Apps"/>
<SidebarOption Icon={FileCopyIcon} title="File browser"/>
<SidebarOption Icon={ExpandLessIcon} title="Show less"/>
<hr/>
<SidebarOption Icon={ExpandMoreIcon} title="Channels"/>
<hr/>
<SidebarOption Icon={AddIcon} addChannelOption title="Add Channels"/>
</SidebarContainer>
)}
export default Sidebar;
您需要用 Link
组件包装 SideBar
选项。并让 MainContent
通过 Route
呈现。因此,当您单击边栏中的项目时,您将更新路由,如果路径匹配,Route
组件将呈现其组件。
我有一个 react.js 项目,我想要 link 侧边栏菜单,如下图所示。当任何用户单击侧面菜单项时,都可以 link 编辑他们的正文。我在网上搜索了很多资料,它们很容易,但我不知道如何应用这个项目,任何想法将不胜感激。
截图:
App.js:
function App() {
return (
<div className="App">
<Router>
<>
<Header/>
<AppBody>
<Sidebar/>
<Switch>
<Route path="/" exact>
<Chat/>
</Route>
</Switch>
</AppBody>
</>
</Router>
</div>
);}
Chat.js:
function Chat() {
return <ChatContainer>
<h1>Chat screen will be here</h1>
<ChatInput/>
</ChatContainer>
}
export default Chat;
Sidebar.js:
function Sidebar() {
return (
<SidebarContainer>
<SidebarHeader>
<SidebarInfo>
<h2>React</h2>
<h3>
<FiberManualRecordIcon/>
soft
</h3>
</SidebarInfo>
<CreateIcon/>
</SidebarHeader>
<SidebarOption Icon={InsertCommentIcon} title="Threads"/>
<SidebarOption Icon={InboxIcon} title="Mentions & reactions"/>
<SidebarOption Icon={DraftsIcon} title="Saved items"/>
<SidebarOption Icon={BookmarkBorderIcon} title="Channel browser"/>
<SidebarOption Icon={PeopleAltIcon} title="People & user groups"/>
<SidebarOption Icon={AppsIcon} title="Apps"/>
<SidebarOption Icon={FileCopyIcon} title="File browser"/>
<SidebarOption Icon={ExpandLessIcon} title="Show less"/>
<hr/>
<SidebarOption Icon={ExpandMoreIcon} title="Channels"/>
<hr/>
<SidebarOption Icon={AddIcon} addChannelOption title="Add Channels"/>
</SidebarContainer>
)}
export default Sidebar;
您需要用 Link
组件包装 SideBar
选项。并让 MainContent
通过 Route
呈现。因此,当您单击边栏中的项目时,您将更新路由,如果路径匹配,Route
组件将呈现其组件。