href不起作用,使用反应路由器

Ele*_*ena 0 popup hyperlink uinavigationcontroller reactjs react-router

我正在尝试为弹出模块提供一个单独的URL,我正在使用一个按钮来重定向:

trigger={ <Link href="/exercisesadd">
          <Button style={style} waves='light' > Add new</Button></Link>
        }>
Run Code Online (Sandbox Code Playgroud)

但我收到404错误,即使我在反应路由器中有这条路线:

    export default () => {
    return <Route path="/"component={Container} auth={auth}>
        <IndexRoute component={Home}/>
        <Route path="/portfolio"  onEnter={requireAuth} component={Portfolio} />
        <Route path="/Login" component={Home} />
        <Route path="/home" component={Home}  />
        <Route path="/edit" component={Edits}/>
        <Route path="/exercises" component={Exercises}/>
        <Route path="/exercisesadd" component={Exercises}/>
    </Route>
};
Run Code Online (Sandbox Code Playgroud)

TLa*_*add 5

Link组件采用'to'prop而不是href.所以你想要的

<Link to="/exerciseadd">
Run Code Online (Sandbox Code Playgroud)

  • 使用锚标记只会呈现一个普通的旧 html 锚标记,它没有单页面应用程序样式路由的概念。它将更改您的浏览器相对于您所在的基本路线的位置,从而导致您的应用程序在此过程中重新加载。Link 组件了解您正在尝试在 SPA 内进行路由并实现该行为。 (3认同)