【React】react如何在两个页面间传递参数(componentWillReceiveProps)
环境:dva.js(就是react)
我两个页面是不同地址的
有一个搜索栏,
里面有一些tag
http://localhost:8000/share 和
http://localhost:8000/searchResource
这两个页面的tag信息不能共享。
等于说我在主页面http://localhost:8000/share搜索了东西之后跳转到另一页http://localhost:8000/searchResource,组件重新加载tag里面的信息都消失了。
然后我按后退键回到http://localhost:8000/share时,系统又会把原来老的share页面记忆的tag信息调出来。
公司大佬跟我说用componentWillReceiveProps,我用了,没用。我觉得那个大佬是不是没注意我地址栏变了。
我找到了这篇文章:
http://blog.csdn.net/zrcj0706...
我的疑惑是componentWillReceiveProps是不是针对单页面的啊?但是这个文章里说了父子页面。
componentWillReceiveProps可以实现这种父子页面的值的传递
render((<Router history={hashHistory}>
<Route path="/" component={App}>
{/* make them children of `App` */}
<Route path="/repos" component={Repos}/>
<Route path="/about" component={About}/>
</Route>
</Router>
), document.getElementById('app'))
核心问题:这种父子页面是不是跟我的
http://localhost:8000/share 和
http://localhost:8000/searchResource
这种页面不是一回事?
但是他这个父子页面的地址栏也变了呀。和我这个地址栏变了是不是不是一回事?
回答
路由变化传参有三种方式:
1.放在url里,拼成querystring,第一个页面拼,第二个页面取
2.放到localstorage,sessionstorage等本地存储里
3.如果路由跳转是用react-router-dom实现,那么可以在跳转的时候放到state里
<Link to={{pathname: '/searchResource', state: {你的参数对象}}}/> xxx </Link>
可以参考react-router传参。
首先,react里没有页面这个概念。只有组件。你说成页面,人家还以为页面刷新了一次呢。
以上是 【React】react如何在两个页面间传递参数(componentWillReceiveProps) 的全部内容, 来源链接: utcz.com/a/75733.html