我想要这样的东西
<Route
path="/one/two/three"
render={() => (
<Component/>
)}
exact
/>
但是当我将它们全部包装到Router
中时,它似乎在本地不起作用。我只看到Component
的内容,而只是/one
,但我想将/one/two/three
作为路径(因为我是root用户,用户位于该路径上)。>
答案 0 :(得分:1)
在react-router-v4
中,您只能拥有以下路线,
<Route path="/one" render={() => (<Component/>)} exact /> //Direct route without any params
或
<Route path="/one/:two" render={() => (<Component/>)} exact /> //Route with params, here `:two` is the parameter to route
如果您想使用示例中的路由,则可以使用BrowseRouter
basename
attribute,
<BrowserRouter basename="/one/two">
<Route path="/three" render={() => (<Component/>)} exact />
</BrowserRouter>
您Link
应该像
<Link to="/three"/> // renders <a href="/one/two/three">
答案 1 :(得分:0)
这对我不起作用的几个原因。
我在Webpack配置中缺少output: { publicPath: '/' },
。
更奇怪的是,我使用PureComponent
而不是Component
,当使用相似的路径(x / y / z)或使用{{1} }。