无法使用设备后退按钮Backhandler导航到上一页

问题描述

我有2个屏幕,屏幕A和屏幕B。我将屏幕B包括在屏幕A中。 当我进入屏幕B时,我可以从设备后退按钮导航回屏幕A。

但是,当我进入屏幕B并导航回到屏幕A时,设备后退按钮在屏幕A中不起作用。

屏幕A

    import React,{ Component } from 'react';
    import { View,Button,BackHandler } from 'react-native';
    import B from './B';

    export default class A extends Component { 
    
      state = {
         isB: false,}
    _onBack = () => {
    this.props.navigation.goBack();
    return true;
    }
    
    componentDidMount(){
    BackHandler.addEventListener('hardwareBackPress',this._onBack)
    }
    
    ComponentWillUnmount(){
    BackHandler.removeEventListener('hardwareBackPress',this._onBack)
    }
    
    render(){
    <>
    {
       isB ?
         <B/>
       :
       <View>
         <Button onPress={() => this.setState({ isB: true})}>Edit</Button>
       </View>
    }
    </>
    }
  }

屏幕B

    import React,BackHandler } from 'react-native';
    export default class B extends Component { 
    
    _onBack = () => {
    this.props.navigation.goBack();
    return true;
    }
    
    componentDidMount(){
    BackHandler.addEventListener('hardwareBackPress',this._onBack)
    }
    
    render(){
       <View>
       </View>
    }
  }

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)