首页 > 解决方案 > 如何在 React 中检测/处理后退按钮按下?

问题描述

我正在尝试检测用户按下后退按钮。我有一个每次都记录 POP 的组件,即使用户没有按下后退按钮也是如此。我只想在用户从另一个屏幕导航到组件时运行此代码。我该怎么做呢?

const history = useHistory();
useEffect(() => {
    console.log(history.action)
    if (history.action == 'POP') {
        // process
}, [data])

标签: javascriptreactjs

解决方案


我不太确定您要在这里完成什么,但我认为您可以使用returnin useEffect 来检查用户何时返回。return卸载组件时运行。

const history = useHistory();
useEffect(() => {
    console.log(history.action)
    if (history.action == 'POP') {
        
        return function cleanup() {console.log("User pressed back")};
}, [data])

推荐阅读