ReactJS 路由可选 ID URL 参数

ReactJS route optional ID URL param

所以,我已经尝试了所有这些,但其中 none 行得通。

<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?} 一个不会抛出错误但 URL 变成

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

请帮忙!

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

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

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

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

文档here