强制刷新REACTjs应用程序与ctrl + F5相同

时间:2019-03-19 09:47:11

标签: javascript reactjs

我有一个简单的问题。我有一个REACTjs应用程序,它在启动时会对API发出一些请求。这些请求通常只执行一次,但有时会执行一次,因此用户可能希望手动刷新应用程序。

执行ctrl + F5(或通过浏览器刷新页面)时,它工作正常。

我尝试在应用程序中添加具有以下相同功能的按钮:

<button value="Refresh Page" onClick="window.location.reload(true)">Refresh</button>

但它仅执行两个请求:0.junk.js0.junk.js.map都返回304状态。

有没有一种方法可以实现与使用浏览器刷新相同的行为?

2 个答案:

答案 0 :(得分:4)

尝试调用函数:

onClick={() => window.location.reload(true)}

或者只需更新您主要组件的任何状态:

this.setState({ refresh: true })

答案 1 :(得分:3)

我认为这样的字符串不是可以传递给onClick的有效道具。看起来就像您使用普通的旧html一样。您必须像onClick

那样将函数传递给<button value="Refresh Page" onClick={() => window.location.reload(true)}>