javascript - 如何在 React 中检测/处理后退按钮按下?
问题描述
我正在尝试检测用户按下后退按钮。我有一个每次都记录 POP 的组件,即使用户没有按下后退按钮也是如此。我只想在用户从另一个屏幕导航到组件时运行此代码。我该怎么做呢?
const history = useHistory();
useEffect(() => {
console.log(history.action)
if (history.action == 'POP') {
// process
}, [data])
解决方案
我不太确定您要在这里完成什么,但我认为您可以使用return
in useEffect 来检查用户何时返回。return
卸载组件时运行。
const history = useHistory();
useEffect(() => {
console.log(history.action)
if (history.action == 'POP') {
return function cleanup() {console.log("User pressed back")};
}, [data])
推荐阅读
- python - forms.py 中的 save() 方法无法在 Django 中保存外键
- azure - Azure 语音:免费计划的使用情况报告 (F0)
- python - 教程 Django 文档第 1 部分。请求和响应
- c# - 更新分离数据时的 EF Core Postgres DbUpdateConcurrencyException
- javascript - 如何循环处理请求的javascript页面?
- r - 添加具有从另一个 data.frame 中获取的重复值的列
- linux - Linux Kbuild:$(src) 和 $(obj) 有什么区别
- javascript - 如何在ajax中访问json键和值
- php - Garethp/php-ews:访问与同一个 MS 交换用户关联的两个不同邮箱
- python-3.x - Python变量不断使用actions.py重置