Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/456.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 具有多层次参数的React路由器_Javascript_Reactjs_React Router - Fatal编程技术网

Javascript 具有多层次参数的React路由器

Javascript 具有多层次参数的React路由器,javascript,reactjs,react-router,Javascript,Reactjs,React Router,我有一个文档组件,我希望我的URL如下所示: url: myapp.com/docs url: myapp.com/docs/document-1 url: myapp.com/docs/category-1/document-2 url: myapp.com/docs/category-1/category-2/document-2 我正在努力设置路线 我尝试了一些方法,包括: <Route path="docs"> <IndexRoute component=

我有一个文档组件,我希望我的URL如下所示:

url: myapp.com/docs
url: myapp.com/docs/document-1
url: myapp.com/docs/category-1/document-2
url: myapp.com/docs/category-1/category-2/document-2
我正在努力设置路线

我尝试了一些方法,包括:

 <Route path="docs">
     <IndexRoute component={Docs} />
     <Route path=":path" component={Docs} />
 </Route>

这适用于
myapp.com/docs/document-1
,但不适用于
myapp.com/docs/category-1/document-2
,这意味着
This.props.params.path
将在第一种情况下返回
document-1
,但在第二种情况下会混淆

我想获取
myapp.com/docs
之后的路径。例如,对于
myapp.com/docs/category-1/category-2/document-2
,我希望能够拾取
/category-1/category-2/document-2

你有没有想过如何做到这一点?如果问题不够清楚,请告诉我


注意:我无法控制url上的层数

这就是我的工作

<Route path="**/*" component={Docs} />
如果需要整个路径,请执行以下操作:

this.props.params.splat.join('/')
你查过那张支票了吗?您要么需要嵌套路由,要么像上面那样使用多个字符串模式。
this.props.params.splat.join('/')