在页面重新加载之前发送API调用或使用React关闭

时间:2017-07-13 00:48:24

标签: javascript reactjs axios

我正在尝试向页面重新加载/关闭时向后端发送有关应用程序状态的信息。有没有办法检测这两个动作并在继续之前调用API?

1 个答案:

答案 0 :(得分:1)

您可以使用w window.unload事件(https://developer.mozilla.org/en-US/docs/Web/Events/unload)。

将代码放在代码的某些位置(我建议在index.html或应用程序的某个入口点):

window.addEventListener('unload', function(event) {
   //call function to save you state in API or save in localStore
   localStore.setItem('state', JSON.stringify(store.getState())
});

我认为使用componentWillUnmount无法正确解决您的问题,因为虽然浏览器没有刷新或关闭,但是反应可以调用该事件。