约翰的答案是正确的。当我处理参数时,我还需要URLSearchParams
接口:
this.props.history.push({
pathname: '/client',
search: "?" + new URLSearchParams({clientId: clientId}).toString()
})
您可能还需要使用withRouter
HOC包装组件,例如export default withRouter(您的组件)
。
使用react路由器v4、redux thunk和react路由器redux(5.0.0-alpha.6)包的示例。
当用户使用搜索功能时,我希望他能够向同事发送相同查询的网址链接。
import { push } from 'react-router-redux';
import qs from 'query-string';
export const search = () => (dispatch) => {
const query = { firstName: 'John', lastName: 'Doe' };
//API call to retrieve records
//...
const searchString = qs.stringify(query);
dispatch(push({
search: searchString
}))
}
在hash历史
的推送
方法中,可以指定查询参数。例如,
history.push({
pathname: '/dresses',
search: '?color=blue'
})
或者
history.push('/dresses?color=blue')
有关使用history
问题内容: 我似乎找不到不使用来使用react- router更新查询参数的方法。似乎没有注册查询参数,而且似乎也不能将查询对象或任何内容作为第二个参数传递。 如何从更改URL ,以在反应路由器没有使用? 而且是一个真正的函数来监听查询变化的唯一途径?为什么没有自动检测到查询更改并对参数更改做出反应? 问题答案: 在中,您可以指定查询参数。例如, 要么 您可以查看此存储库以获取有关使用的其他示例
我已将路径修改为 在此之后,如果我试图访问url,它不会将我重定向到适当的页面,而是抛出一个错误,如下所示
使用redux和反应路由器,我想访问路由指定的组件以外的组件上的路由参数。 我已经对react-router、redux和react-router-redux进行了如下设置,我想从我的redux存储访问reportId参数。 我已经尝试连接react-redux路由器来存储路由状态,但是我发现除了活动路由的完整路径之外,redux内部没有任何有用的存储。这让我可以选择从redux中的路径解析出re
我正在尝试使用http://localhost:3000/login?Id=1这样的查询参数来实现React路由器,我只能在我的登录路由中实现它,如果我将路径作为http://localhost:3000/然后重定向,但是,我想在整个应用程序中实现。如果我在其他路由上实现,它会匹配路由。这就是我的的样子,有人能指导我如何实现包括查询参数在内的所有路由路径吗?
这个问题试图解决的问题很简单: “我可以通过编程将道具从一个场景发送到另一个场景吗?如果可以,如何发送?” 下面我提供了一组示例代码,希望有人能够一劳永逸地解决这个问题。 长话短说,一旦用户单击submit,该文件将接受输入和输出,此函数称为: 我将永远感激任何理解这个问题并能解释我的困境的人。 非常感谢。