我是react.js的新手。 我有一个简单的表格页面。当我重新加载页面时,状态正在迷失。 有没有办法检测浏览器刷新?
答案 0 :(得分:0)
事件beforeunload在刷新窗口浏览器之前执行。活动可以取消。
window.beforeunload = (e) => {
console.log('Stop this');
event.preventDefault()
event.returnValue = '';
};
使用React时,选项是在componentDidMount
生命周期方法中的@ componentWillUnmount
生命周期方法中控制您的应用程序组件或最高阶组件,而不是我最初建议的data=[['lion', '23', '35'],
['lion', '24', '68'],
['elephant', '23', '34'],
['monkey', '4', '20'],
['monkey', '5' , '25'],
['monkey','28', '90'],
['lion', '33', '2']]
from itertools import groupby
from itertools import combinations
final_=[]
for i,j in groupby(sorted(data),key=lambda x:x[0]):
final_.append(list(j))
final__=[]
check=[]
for mn in final_:
if len(mn)==1:
final__.append(mn)
for k in combinations(mn,r=2):
if abs(int(k[0][1])-int(k[1][1]))==1:
check.extend(k)
final__.append([k[0][0],"{}-{}".format(k[0][1],k[1][1]),"{}-{}".format(k[0][2],k[1][2])])
else:
if k[0] not in check:
if k[0] not in final__:
final__.append(k[0])
elif k[1] not in check:
if k[1] not in final__:
final__.append(k[1])
print(final__)
,并管理那就是你想要实现的目标。
答案 1 :(得分:0)
尝试这个。这对我有用。
if (window.performance) {
if (performance.navigation.type == 1) {
alert( "This page is reloaded" );
} else {
alert( "This page is not reloaded");
}
}
答案 2 :(得分:0)
使用 [react-beforeunload][1],您可以轻松跟踪页面更改
return await _repository.GetPagedListAsync(
predicate: c => c.L_Name.Contains(_lname) , c => c.F_Name.Contains(_fname),
pageIndex: page,
pageSize: limit,
cancellationToken: cancellationToken
);
这对我有用。我希望这个对你也有用。 [1]:https://www.npmjs.com/package/react-beforeunload