查询字符串反应路由器路径
query string react-router path
我正在使用 react-router 3.0.2 并尝试使用查询字符串配置路由器路径。这就是我配置路由器的方式:
<Router history={browserHistory}>
<Route path="abc/login.do" component={LoginComponent}/>
<Route path="abc/publicLoginID.do?phase=def" component={VerifyComponent} />
<Route path="abc/publicLoginID.do?phase=ghi" component={ImageComponent}/>
<Route path="*" component={LoginComponent}/>
</Router>
我知道这不是在 "Route" 中指定查询字符串 (?) 的正确方法。我如何确保每当用户在 url 中输入“http://localhost:3000/abc/publicLoginID.do?phase=def" in the url, "VerifyComponent" shows up, and when he enters "http://localhost:3000/abc/publicLoginID.do?phase=ghi”时,"ImageComponent" 就会出现。
我确实在这里检查了一些情况: and ,但无法弄清楚如何让它工作。
您可以编写一个包装器组件,它将根据查询参数切换要呈现的内容
<Router history={browserHistory}>
<Route path="abc/login.do" component={LoginComponent}/>
<Route path="abc/publicLoginID.do" component={WrapperComponent} />
<Route path="*" component={LoginComponent}/>
</Router>
//WrapperComponent
WrapperComponent = (props) => {
if (props.location.query.phase==="def"){return <VerifyComponent {...props}/>}
if (props.location.query.phase==="ghi"){return <ImageComponent {...props}/>}
}
我正在使用 react-router 3.0.2 并尝试使用查询字符串配置路由器路径。这就是我配置路由器的方式:
<Router history={browserHistory}>
<Route path="abc/login.do" component={LoginComponent}/>
<Route path="abc/publicLoginID.do?phase=def" component={VerifyComponent} />
<Route path="abc/publicLoginID.do?phase=ghi" component={ImageComponent}/>
<Route path="*" component={LoginComponent}/>
</Router>
我知道这不是在 "Route" 中指定查询字符串 (?) 的正确方法。我如何确保每当用户在 url 中输入“http://localhost:3000/abc/publicLoginID.do?phase=def" in the url, "VerifyComponent" shows up, and when he enters "http://localhost:3000/abc/publicLoginID.do?phase=ghi”时,"ImageComponent" 就会出现。
我确实在这里检查了一些情况:
您可以编写一个包装器组件,它将根据查询参数切换要呈现的内容
<Router history={browserHistory}>
<Route path="abc/login.do" component={LoginComponent}/>
<Route path="abc/publicLoginID.do" component={WrapperComponent} />
<Route path="*" component={LoginComponent}/>
</Router>
//WrapperComponent
WrapperComponent = (props) => {
if (props.location.query.phase==="def"){return <VerifyComponent {...props}/>}
if (props.location.query.phase==="ghi"){return <ImageComponent {...props}/>}
}