首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何处理或防止硬件后退按钮按下反应本机模式?

如何处理或防止硬件后退按钮按下反应本机模式?
EN

Stack Overflow用户
提问于 2018-10-22 15:35:46
回答 2查看 6.1K关注 0票数 9

使用react本机用于android应用程序。使用基于本机模式的自定义组件将内容显示在包围视图之上。

已经尝试过响应本机Backhandler。

代码语言:javascript
运行
复制
   componentDidMount() {
    BackHandler.addEventListener('hardwareBackPress', this.handleBackPress);
  }

  componentWillUnmount() {
    BackHandler.removeEventListener('hardwareBackPress', this.handleBackPress);
  }

  handleBackPress = () => {
    this.goBack(); // works best when the goBack is async
    return true;
  }

或者像这样

代码语言:javascript
运行
复制
componentDidMount() {
    this.backHandler = BackHandler.addEventListener('hardwareBackPress', () => {
      this.goBack(); // works best when the goBack is async
      return true;
    });
  }

  componentWillUnmount() {
    this.backHandler.remove();
  }

这里是开放的问题

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-04-02 15:59:01

不幸的是,这行不通。如果您检查onRequestClose,您将看到您需要在模型上使用文档。BackHandler“只要模态打开,就不会发出...events”。

像这样的东西会有用的:

代码语言:javascript
运行
复制
      <Modal
        visible={visible}
        onRequestClose={() => {
          console.log("back");
        }}
      >
票数 19
EN

Stack Overflow用户

发布于 2022-04-06 20:50:03

对我来说很管用

代码语言:javascript
运行
复制
<Modal isVisible={ProfileImageEditModal}
        onRequestClose={() => {
           setProfileImageEditModal(false)
          }}
/>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52932979

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档