ReactJS路由可选ID URL参数

时间:2015-05-29 21:19:26

标签: url routes reactjs

所以,我已经尝试了所有这些,但没有一个能够奏效。

<Route name="create-course" handler={CreateCourse} path="/course-builder/create-course/{:id}" />
<Route name="create-course" handler={CreateCourse} path="/course-builder/create-course/[:id]" />
<Route name="create-course" handler={CreateCourse} path="/course-builder/create-course{/id}" />

相同错误的变体:

Error: Invariant Violation: Missing "id" parameter for path "/course-builder/create-course/{:id}"

/ {:id?}我不会抛出错误,但网址会变为

/course-builder/create-course/%7B%7D

请帮忙!

2 个答案:

答案 0 :(得分:2)

在参数:id之后添加?,就像这样

<Route name="create-course" handler={CreateCourse} path="/course-builder/create-course/:id?" />

答案 1 :(得分:0)

如果其他人偶然发现了这个问题 - 从React-Router v1.0.0开始,正确的语法是:

<Route name="create-course" handler={CreateCourse} path="/course-builder/create-course(/:id)" />

文档here