ReactJs 路由句柄 abc.com/:pageId
ReactJs route handle abc.com/:pageId
我正在构建一个应用程序,以允许用户在我的应用程序上拥有他们自己的页面 url myurl.com/:username
,例如 facebook.com/:username
。我不想在 url 中包含 #
。下面是我的代码:
import {BrowserRouter as Router, Route, Switch} from 'react-router-dom'
<Router>
<Route path="/" component={HomeView}>
<Route path="/:username" component={UserView}/>
</Route>
</Router>
每次我导航到 myurl.com/mobject
它都会给我错误 Cannot GET /mobject
我正在使用 webpack-dev-server
.
关于<Route>
的一点小错误。据我所见(您的导入),我假设您使用的是 RR v4。在 v4 中,不再有任何嵌套的 <Route>
。那可能是个问题。对于 #
,如果您使用 BrowserRouter
,那么您在使用 <Link>
导航时将看不到该字符。 #
来自 HashRouter
.
使用示例
<BrowserRouter>
<Switch>
<Route exact path="/" component={HomeComponent} />
<Route exact path="/about" component={About}/>
<Route path="/about/team" component={TeamComponent}/>
<Route path="/category/:id" render={ ({ match }) => <div>Category: { match.params.id }</div> }/>
<Route path="/:slug" component={ ({ match }) => <h4>Slug: { match.params.slug }</h4> }/>
</Switch>
</BrowserRouter>
我正在构建一个应用程序,以允许用户在我的应用程序上拥有他们自己的页面 url myurl.com/:username
,例如 facebook.com/:username
。我不想在 url 中包含 #
。下面是我的代码:
import {BrowserRouter as Router, Route, Switch} from 'react-router-dom'
<Router>
<Route path="/" component={HomeView}>
<Route path="/:username" component={UserView}/>
</Route>
</Router>
每次我导航到 myurl.com/mobject
它都会给我错误 Cannot GET /mobject
我正在使用 webpack-dev-server
.
关于<Route>
的一点小错误。据我所见(您的导入),我假设您使用的是 RR v4。在 v4 中,不再有任何嵌套的 <Route>
。那可能是个问题。对于 #
,如果您使用 BrowserRouter
,那么您在使用 <Link>
导航时将看不到该字符。 #
来自 HashRouter
.
使用示例
<BrowserRouter>
<Switch>
<Route exact path="/" component={HomeComponent} />
<Route exact path="/about" component={About}/>
<Route path="/about/team" component={TeamComponent}/>
<Route path="/category/:id" render={ ({ match }) => <div>Category: { match.params.id }</div> }/>
<Route path="/:slug" component={ ({ match }) => <h4>Slug: { match.params.slug }</h4> }/>
</Switch>
</BrowserRouter>