【问题标题】:How to change a component on the basis of the link clicked by react-router-dom如何根据 react-router-dom 单击的链接更改组件
【发布时间】:2021-05-04 11:28:12
【问题描述】:

请查看此代码并告诉我是否可以帮助我解决如何修复它,

import React from 'react';
import  {Switch, Route, BrowserRouter as Router, Link} from "react-router-dom";




function App(){
return(
    <Router>
        <div className = "sidebar">
            <Link to = "/"><h1 className = "heading ">TODOS</h1></Link>
            <Link to= "/login"> <span className = "links login">LogIn</span></Link>
            <Link to = "/signup"><span className = "links signup">SignUp</span></Link>
            <Link to = "contact"><span className = "links contact">Contact Us</span></Link>
            <Link to = "/about"><span className = "links about">About Developer</span></Link>
        </div>
        <Switch>
            <Route path = "/">
                <h1>home route</h1>
            </Route>
            <Route path = "/login">
                {/* <Login/> */}
                <div>
                 <h1>this is login route</h1>
                </div>
            </Route>    
            <Route path = "/signup">
                <h1>signup page</h1>
            </Route>
            <Route path = "/contact">
                <h1>contact page</h1>
            </Route>
            <Route path = "/about">
                <h1>About page</h1>
            </Route>
        </Switch>
    </Router>
)
}

export default App;

NMw 无论您单击哪个链接,它都会显示相同的文本我该如何解决这个问题? 为了测试和更好地理解问题,你们可以继续this 链接在这里复制粘贴我的代码,它会在那里运行,请让我知道我的错误

【问题讨论】:

  • 在所有路由上添加 exact 属性(但不在那些有嵌套路由的路由中)。
  • 也许您也可以将索引路由移到底部,这样他就可以在/ 上进行全面匹配,而不是完全匹配。

标签: javascript reactjs react-router react-router-dom web-development-server


【解决方案1】:

只需向 all 路由组件添加确切的道具。它会工作

<Route exact path='/yourpath' />

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-08-16
    • 2018-04-23
    • 2020-04-16
    • 2020-12-09
    • 2021-09-27
    • 2021-07-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多