Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/25.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cocoa/3.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
Reactjs React路由器获取嵌套路由路径名的最佳实践_Reactjs_React Router_React Router V4_React Router Dom - Fatal编程技术网

Reactjs React路由器获取嵌套路由路径名的最佳实践

Reactjs React路由器获取嵌套路由路径名的最佳实践,reactjs,react-router,react-router-v4,react-router-dom,Reactjs,React Router,React Router V4,React Router Dom,我有一个反应路线,如下面的代码: <Route path='/settings' component={Settings} /> 在“设置”组件中,它有3个嵌套管线: <Route path='/settings/general' component={GeneralSetting} /> <Route path='/settings/team' component={TeamSetting} /> <Route path='/settings/

我有一个反应路线,如下面的代码:

<Route path='/settings' component={Settings} />
在“设置”组件中,它有3个嵌套管线:

 <Route path='/settings/general' component={GeneralSetting} />
 <Route path='/settings/team' component={TeamSetting} />
 <Route path='/settings/email' component={EmailSetting} />
因此,我的问题是如何在没有父路由“/settings”的情况下,仅在最正确的位置(如“/general”和“/email”)获取嵌套路径名。目前,我正在位置pathname/settings/general上使用字符串拆分器来实现这一点。对于这种情况,有什么最佳做法吗


谢谢你的帮助。提前感谢。

在我看来,在react路由器中没有获取子路径的最佳实践。您正在位置上使用字符串拆分器,这很好。 若您仍然只需要获取子路径,那个么您可以使用url中的参数,并基于如下所示的参数呈现组件

在键入newcomponent以呈现子组件中,可以获得如下参数

this.props.match.params.type


这将根据您的url为您提供常规、团队和电子邮件值。

使用exact@Omer,谢谢您的回复,但我想通过路由“/settings/general”进入常规设置。mm您在这里的意思是:仅不使用父路由“/settings”?我的意思是,我仍然通过“/settings/general”进入GeneralSettings,然后我得到位置。路径名是“/settings/general”,我想得到文本“/general”only@QuocVanTang您想使用嵌套路径名做什么?感谢您的回复,这也是一个很好的方法,但接下来我们将有一个条件渲染三个选项之一:常规、团队、,Email-in-Type组件基于:Type参数,rightRight,存在一些折衷