我正在使用 React.js Router 并试图实现这一目标:
用户转到模块
,然后转到级别
,网址将如下所示:
myapp.com/game/module/some-module/level/level-1
。
我需要像这样处理所有不同的 module
和 level
:
/模块/:名称
/级别/:名称
所以我不需要多次指定每个网址。
这是App.js
中的代码:
const App = () =>
<Router>
<Switch>
<Route exact path="/" component={Home} />
<Route exact path="/game" component={Game} />
<Route exact path="/module/:name" component={Module} />
<Route exact path="/level/:name" component={Level} />
<Route component={NoMatch} />
</Switch>
</Router>
export default App
我知道我可以“抓取”子级中模块名称的值,如下所示:match.params.name
。
如何在 React 中做到这一点? 您还有比这更好的方法吗?
例如/game/some-module/some-level
,这种情况下,如何在中传递
模块名称
和关卡名称
>路线
最佳答案
看起来 Level 路由应该嵌套在 Module 组件内。
这是 Stack Overflow 上的类似讨论:Nested routes with react router v4
这里有一篇很好的博客文章,解释了嵌套路由在 React Router v4 中的工作原理:https://tylermcginnis.com/react-router-nested-routes/
关于javascript - React 查询字符串采用超过 1 个参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52837172/