React Router 3:路由路径定义中括号 () 的作用是什么?

tce*_*act 3 react-router

我有一个 React router 3 组件,指定如下:

module.exports = {
  path: 'report(/:skip)',
  getComponent(nextState, cb) {
    require.ensure([], (require) => {
      cb(null, require('./Containers/Report').default);
    });
  },
};
Run Code Online (Sandbox Code Playgroud)

我的问题是关于'report(/:skip)'线路的。我知道这report/:skip会匹配report/foo然后传递foo到组件可用的参数哈希中,但是括号周围的效果是什么/:skip

tce*_*act 6

事实证明,括号意味着该参数是可选的,如 API 文档中所述

\n\n
\n
    \n
  • ()\xe2\x80\x93 包裹 URL 的可选部分。如果您想在 url 中使用反斜杠 \\ 来使用括号,则可以转义\n 括号
  • \n
\n
\n