【问题标题】:How to force user to exit app with react-router-dom如何使用 react-router-dom 强制用户退出应用程序
【发布时间】:2019-10-26 09:49:29
【问题描述】:

我是 react-router-dom 和 Web 开发的新手。我正在移动浏览器上创建 PWA,我找不到像在原生移动应用中那样导航用户退出应用的方法

发生的事情是页面一遍又一遍地导航,直到它到达历史的最后一个堆栈,然后它将关闭应用程序

我知道如何监听路线变化,如果用户在特定路线上,我如何强制用户退出应用而不返回之前的历史记录

【问题讨论】:

标签: reactjs react-router react-router-dom


【解决方案1】:

这取决于您所说的“强制用户退出应用程序”是什么意思?

什么是触发因素和什么影响?

触发器例如可以是按钮点击,效果可以是重定向。 假设身份验证用户在路由 { /app } 上并单击 -


import { Redirect } from 'react-router-dom';



<button
    onClick={()=> <Redirect to="/" }
/>

但从您的问题来看,您似乎想使用您的位置作为触发器并据此执行某些操作(如果您不熟悉钩子,它可以转换为 componentDidMount/Update)-


React.useEffect(()=> {
       if (props.location.pathname === '/') {
         // Do Something here...
         }
      }  
    ,[props.location])

这里是完整的 { location } react-router 文档https://reacttraining.com/react-router/web/api/location

请注意 { location } 有


   state: {
      [userDefined]: boolean
     }

方法,也许它会帮助你处理用户流程

【讨论】:

  • 我已经编辑了我的问题,基本上我想强制用户在使用移动网络时退出应用程序。目前,如果我在浏览一堆屏幕后按下返回按钮,react-router 将继续重新访问我以前的历史记录,直到所有最后一个堆栈然后它将退出应用程序
猜你喜欢
  • 2023-03-08
  • 2013-06-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-01-27
  • 2016-03-11
相关资源
最近更新 更多