【问题标题】:How we can link sidebar menu item with app body?我们如何将侧边栏菜单项与应用程序主体链接?
【发布时间】:2021-05-22 11:03:44
【问题描述】:

我有一个 react.js 项目,我想链接侧边栏菜单,如下图所示。当任何用户单击侧菜单项时,它可以链接他们的身体。我在网上搜索了很多资料,它们很容易,但我不知道如何应用这个项目,任何想法将不胜感激。

截图:

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;

【问题讨论】:

    标签: reactjs react-router react-link


    【解决方案1】:

    您需要用Link 组件包装SideBar 选项。并通过 Route 呈现 MainContent 。这样,当您单击 SideBar 中的项目时,您将更新路由,如果路径匹配,Route 组件将呈现其组件。

    SideBar Example

    【讨论】:

      猜你喜欢
      • 2022-09-26
      • 2016-05-15
      • 1970-01-01
      • 2015-11-19
      • 2020-07-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多