我正在尝试向页面重新加载/关闭时向后端发送有关应用程序状态的信息。有没有办法检测这两个动作并在继续之前调用API?
答案 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无法正确解决您的问题,因为虽然浏览器没有刷新或关闭,但是反应可以调用该事件。