我正在尝试定义一个可以包含多个不同选项的反应路线。
我试图避免为每个路线定义一条路线,如下所示:
<Route path='/option1' component={Testing}/>
<Route path='/option2' component={Testing}/>
<Route path='/option3' component={Testing}/>
在Express中,我可以使用app.get('/:name(option1|option2|option3)?', (req, res) => {}
来执行此操作,然后通过req.params.name
来访问此数据
还有,我是否可以通过props将path参数(即option1)传递到组件中?我该怎么办?
答案 0 :(得分:2)
您可以存储array
个路径并将它们map
存储到相同的Component
['/path','/foo','bar'].map(path => <Route key={path} path={path} component={Foo} />)
是否可以通过道具将path参数(即option1)传递到组件中?
是的,只需使用render
而不是component
<Route path='/' render={() => <MyComp myProp='foo'/>}
对于url parameters
,请像这样使用它
<Route path='/path/:param' component={Foo} />
在Foo.js
内
console.log(props.match.params.param)
您也可以使用regexp
<Route exact path="/path/:foo([0-9a-fA-f]{40})" component={Foo} />
答案 1 :(得分:0)
参数设置为submitInfo() {
this.http.post(url, data).toPromise()
.then(
(response: Response) => {
console.log(response);
}
));
}
,您可以使用/myroute:myparam
在目标组件中检索它