我想创建支持查询字符串的路由
当我说支持我的意思是,将它传递到下一条路线时如何。
例如:
根据这条路线:domain/home?lang=eng
当移动到路由domain/about
时,我希望它保留查询字符串并显示domain/about?lang=eng
我确信这有一个内置的功能,但在阅读了文档和网上的大量搜索后,我找不到一个优雅的解决方案。
我正在使用react-router@3.0.0
和react-router-redux@4.0.7
答案 0 :(得分:0)
对于react-router 4.x,请尝试
const { history }
history.push('/about' + history.location.search)
要访问this.props.history
,请确保已使用withRouter
HOC包装了该组件
import { withRouter } from 'react-router-dom'
...
export default withRouter(component)
答案 1 :(得分:-1)
你必须"转发"在每个页面转换时查询参数 - 烦心而且你很容易忘记...
相反,我会这样做。
lang
首选项。 localStorage
在这里是个好人。如果没有找到偏好,则回退到默认语言lang
,以便每个组件都可以读取此值。由于您使用的是redux
,因此我会提取redux-persist
以在页面重新加载时保留此首选项。