在React Router中,我如何路由到两个具有不同参数的相似URL

纳米级

例如,我有<Song />一条播放歌曲路线,并且我希望另一条路线<SongInfo />显示这首歌的信息,另一条路线<SongComments />显示评论。

<Route path="songs" component={Songs} />
<Route path="song/:id/:name" component={Song} />
<Route path="songs/:id/:name/:info" component={SongInfo} />
<Route path="songs/:id/:name/:comments" component={SongComments} />

我希望url结构如下所示:

/songs/123/cool_song/
/songs/123/cool_song/info
/songs/123/cool_song/comments

我该如何实现?目前,最后2条路线相同,并且到达相同的组件。

我在用 react-router: 1.0.0

克尔兹斯托夫·斯托姆普卡

info并且comments是静态的文字或他们是变量?我问,因为在路由中,您将它们用作变量,但在示例中,您将它们用作静态词。如果它们永远不变,那么您的路线应如下所示:

<Route path="songs" component={Songs} />
<Route path="song/:id/:name" component={Song} />
<Route path="songs/:id/:name/info" component={SongInfo} />
<Route path="songs/:id/:name/comments" component={SongComments} />

(我在信息和评论之前删除了冒号)。现在,如果您具有url /songs/123/cool_song/info,它将运行SongInfo组件。如果您有url /songs/123/cool_song/comments,它将运行SongComments

但是,如果信息和注释是将被某个字符串替换的变量,那么问题出在最后两个路由器,它们是相同的。即使人类必须做出决定,例如/songs/123/cool_song/great-songgreat-song评论还是信息?您必须使它们与众不同。例如:

<Route path="songs" component={Songs} />
<Route path="song/:id/:name" component={Song} />
<Route path="songs/:id/:name/i/:info" component={SongInfo} />
<Route path="songs/:id/:name/c/:comments" component={SongComments} />

您的网址将如下所示:

/songs/123/cool_song/i/great-song // info
/songs/123/cool_song/c/great-song // comment

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何使用 React Router 4 单击按钮并导航到带有 URL 参数的新路由

来自分类Dev

React:具有两个参数的Map函数

来自分类Dev

为什么我在React Native中对此布尔值有两个不同的值?

来自分类Dev

我们如何在React jsx中添加两个不同的值

来自分类Dev

如何在WebApi中路由具有相同参数的两个get方法?

来自分类Dev

如何使用 React Router 对两个组件进行异或路由?

来自分类Dev

React Js:即使只有一个 html 文件,react 如何路由到不同的页面?

来自分类Dev

React Router-如何在路由匹配中约束参数?

来自分类Dev

具有多级动态路由的 React Router

来自分类Dev

React-router-dom:在一个路由下渲染两个组件

来自分类Dev

两个不同父母的孩子可以在React中拥有相同的键吗

来自分类Dev

警告:flattenChildren(...):在React Mobx组件中遇到了两个具有相同键的孩子

来自分类Dev

如何在React中为两个相同的子组件分配不同的值

来自分类Dev

如何在React中以不同的显示方式同步两个下拉列表?

来自分类Dev

在具有两个不同参数的线上找到多个匹配绑定

来自分类Dev

如何使用 React Router 路由到另一个 url 并使用新组件重新渲染页面?

来自分类Dev

如何获得没有参数的React Router Origin URL?

来自分类Dev

具有两个相同参数的调用方法将返回两个不同的结果

来自分类Dev

我在 React 应用程序中遇到了两个 .js 文件的问题!我正在使用 react-router-dom。我的问题是链接标签

来自分类Dev

react-router 中的 URL 参数问题

来自分类Dev

表单栏杆中具有相同参数的两个选择菜单

来自分类Dev

合并两个文件中具有相同参数的值

来自分类Dev

如何在 React Native 中对齐两个组件

来自分类Dev

如果 URL 在 React 中具有特定的查询参数,如何呈现组件?

来自分类Dev

React-router:我应该如何将路由参数转换为prop?

来自分类Dev

如何总结两个React道具?

来自分类Dev

如何比较2个数组并在React中保留具有相似值的数组?

来自分类Dev

React Router触发具有历史记录的路由

来自分类Dev

React上下文如何知道我正在引用react-router将我重定向到另一个URL

Related 相关文章

  1. 1

    如何使用 React Router 4 单击按钮并导航到带有 URL 参数的新路由

  2. 2

    React:具有两个参数的Map函数

  3. 3

    为什么我在React Native中对此布尔值有两个不同的值?

  4. 4

    我们如何在React jsx中添加两个不同的值

  5. 5

    如何在WebApi中路由具有相同参数的两个get方法?

  6. 6

    如何使用 React Router 对两个组件进行异或路由?

  7. 7

    React Js:即使只有一个 html 文件,react 如何路由到不同的页面?

  8. 8

    React Router-如何在路由匹配中约束参数?

  9. 9

    具有多级动态路由的 React Router

  10. 10

    React-router-dom:在一个路由下渲染两个组件

  11. 11

    两个不同父母的孩子可以在React中拥有相同的键吗

  12. 12

    警告:flattenChildren(...):在React Mobx组件中遇到了两个具有相同键的孩子

  13. 13

    如何在React中为两个相同的子组件分配不同的值

  14. 14

    如何在React中以不同的显示方式同步两个下拉列表?

  15. 15

    在具有两个不同参数的线上找到多个匹配绑定

  16. 16

    如何使用 React Router 路由到另一个 url 并使用新组件重新渲染页面?

  17. 17

    如何获得没有参数的React Router Origin URL?

  18. 18

    具有两个相同参数的调用方法将返回两个不同的结果

  19. 19

    我在 React 应用程序中遇到了两个 .js 文件的问题!我正在使用 react-router-dom。我的问题是链接标签

  20. 20

    react-router 中的 URL 参数问题

  21. 21

    表单栏杆中具有相同参数的两个选择菜单

  22. 22

    合并两个文件中具有相同参数的值

  23. 23

    如何在 React Native 中对齐两个组件

  24. 24

    如果 URL 在 React 中具有特定的查询参数,如何呈现组件?

  25. 25

    React-router:我应该如何将路由参数转换为prop?

  26. 26

    如何总结两个React道具?

  27. 27

    如何比较2个数组并在React中保留具有相似值的数组?

  28. 28

    React Router触发具有历史记录的路由

  29. 29

    React上下文如何知道我正在引用react-router将我重定向到另一个URL

热门标签

归档