javascript – React router:组件不更新url搜索参数更改
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了javascript – React router:组件不更新url搜索参数更改,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1275字,纯文字阅读大概需要2分钟。
内容图文
我有一个使用URL搜索参数的React应用程序.根据搜索参数v的值,该组件应该显示不同的内容.
可能的URL可能如下所示:
http://localhost:3000/hello?v=12345
一旦v查询参数在URL中更改,我希望我的组件更新.
http://localhost:3000/hello?v=6789
我正在使用我的App组件中的react-router来根据路由显示不同的组件. App组件包装在BrowserRouter组件中.
render() {
return (
<Switch>
<Route path="/hello" component={Hello}></Route>
<Route path="/" component={Home}></Route>
</Switch>
);
}
如果用户点击了某些内容并且URL搜索参数发生了变化,我希望该组件显示不同的内容.目前,URL搜索参数确实发生了变化,但组件不会再次渲染.有任何想法吗?
解决方法:
您没有提供足够的信息,因此我无法100%确定您出错的地方,但我现在可以在您的代码中看到1个问题.首先,您必须让路由器知道您将使用参数.所以例如下面的代码
render() {
return (
<Switch>
<Route path="/hello/:yourParam" component={Hello}></Route> // you need the colon here
<Route path="/" component={Home}></Route>
</Switch>
);
}
上面将告诉路由可以从URL访问名为yourParam的参数
然后必须在组件中访问它并以某种方式放入渲染函数(使用它从数据库中检索数据以呈现数据,直接渲染参数等).
例如下面
render(){
<div>
{this.props.match.params.yourParam}
</div>
}
这样,每次有param更改时,您的组件都将重新呈现.
编辑
由于您希望使用查询而不是参数,因此您必须通过转发来检索它. this.props.match.query.v.您仍然必须确保根据查询更改呈现变量
内容总结
以上是互联网集市为您收集整理的javascript – React router:组件不更新url搜索参数更改全部内容,希望文章能够帮你解决javascript – React router:组件不更新url搜索参数更改所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。