我有一个网址
https://website.com/enable/code=react/string=true
My React路由器看起来像这样
<Router history={history}>
<Route
path="/"
component={App}
>
<IndexRoute component={Page1} />
<Route path="/enable/language='dynamicVal'/string='dynamicVal'>{page2()}</Route>
</Route>
</Router>
现在Route path
我需要获取language
和string
我试过这个。
/enable/language=(/:react)/string=(/:true)
如何以及在何处定义动态值?
答案 0 :(得分:0)
您可以使用路径参数方法并构建您的路线,如
<Router history={history}>
<Route
path="/"
component={App}
>
<IndexRoute component={Page1} />
<Route path="/enable/:language/:codeString'>{page2()}</Route>
</Route>
</Router>
在您的组件中,您可以获得路径参数
如果您使用this.props.params.language
或以下,请 this.props.params.codeString
和react-router-v3
和
如果您使用this.props.match.params.language
,请 this.props.match.params.codeString
和react-router-v4
答案 1 :(得分:0)
假设react-router v4(未在v3上测试,这是你似乎使用的?),你可以这样定义一个Route:
<Route
exact path="/enable/language=:language/string=:stringVal"
component={YourComponent} />`
在YourComponent
中,这两个参数分别位于this.props.match.params.language
和this.props.match.params.stringVal
下。
有关工作示例,请参阅this CodeSandbox。