简体   繁体   English

反应路由器更改 url 但不是组件 [已解决]

[英]React router changes url but not the component [SOLVED]

When I click on the Navigation links the URL changes but the component doesn't render, and when I reload the page with the same link the component renders当我单击导航链接时,URL 会发生变化,但组件不会呈现,当我使用相同的链接重新加载页面时,组件会呈现

APP.js APP.js

render() {
         return (
           <div>
             <BrowserRouter>
                <Switch>
                  <Route exact path="/" component={Main}  />
                  <Route path="/Men"component={DisplayPage} />
                </Switch>       
            </BrowserRouter>
          </div>
        )
    }

Nav.js导航.js

return (
      <div className="MainContainer">
        <header>
        
        <nav>
          <ul>
        
          <li><Title/></li>    
          <li><Link to='/Men'>MEN</Link></li>
          <li><a href>WOMEN</a></li>
          <li><a href>STYLEGUIDE</a></li>
          <li><a href>OUTLET</a></li>
          </ul>
        </nav>
      <Cart/>
   </header>
  </div>
);

Add the Nav component inside <BrowserRouter> :<BrowserRouter>中添加 Nav 组件:

return (
         <div>
           <BrowserRouter>
             <Nav />
             <Switch>
              <Route exact path="/" component={Main}  />
               <Route path="/Men"component={DisplayPage} />
              </Switch>    
           </BrowserRouter>
         </div>
    )

Can you try like this?你可以这样试试吗?

render() {
         return (
             <BrowserRouter>
              <Nav />
                <Switch>
                  <Route exact path="/" component={Main}  />
                  <Route exact path="/Men"component={DisplayPage} />
                </Switch>       
            </BrowserRouter>
        )
    }

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM