首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在页面重新加载时清除react-router中的location.state?

如何在页面重新加载时清除react-router中的location.state?
EN

Stack Overflow用户
提问于 2016-10-18 12:18:13
回答 6查看 30.6K关注 0票数 32

我目前正在传递路由更改的状态,如下所示:

代码语言:js
复制
View Details

我的逻辑是,如果"location.state.transaction“存在,则不获取新数据,否则,获取数据。

现在的缺陷是当页面重新加载时。如果用户重新加载页面,应用程序需要获取新数据。我以为如果重新加载,"location.state“就会被清除,但很明显,这个状态是保存在sessionStorage中的。

我该如何解决这个问题呢?我可以每次都获取新数据,但它不应该在单击“View Details”链接时获取数据。

EN

Stack Overflow用户

发布于 2019-06-02 20:31:18

有一种更好的方法,不用使用三方库。

我们可以使用history.replace()

https://github.com/ReactTraining/react-router/blob/master/packages/react-router/docs/api/history.md

代码语言:javascript
复制
componentDidMount(){
 const {location,history} = this.props;
 //use the state via location.state
 //and replace the state via
 history.replace() 
}
票数 19
EN
查看全部 6 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40099431

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档