【发布时间】:2020-09-15 07:36:35
【问题描述】:
我有 2 个屏幕,屏幕 A 和屏幕 B。我在屏幕 A 中包含屏幕 B。 当我在屏幕 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, { Component } from 'react';
import { View, BackHandler } from 'react-native';
export default class B extends Component {
_onBack = () => {
this.props.navigation.goBack();
return true;
}
componentDidMount(){
BackHandler.addEventListener('hardwareBackPress', this._onBack)
}
ComponentWillUnmount(){
BackHandler.removeEventListener('hardwareBackPress', this._onBack)
}
render(){
<View>
</View>
}
}
【问题讨论】:
-
你的屏幕A是主页面吗?我的意思是首先安装的那个,您希望在后按时关闭应用程序?
-
不,它不是主页@Amas
标签: android react-native navigation hardware