我无法在模态内放置的组件中使用react-native BackHandler设置事件侦听器。我怀疑这是因为模态正在侦听onRequestClose道具上传递的方法。
好吧,我不确定这是错误还是功能请求,但我建议您允许我们将某个值(例如null)传递给onRequestClose道具,以作为标记可能设置了BackHandler事件侦听器的方式在Modal的子组件中,并且这些侦听器具有优先级(即,覆盖Modal 的onRequestClose)。
环境:
软件包:(需要=>已安装)
反应本机:0.53.0
=> 0.53.0
下面是子组件内部的说明:
class ChildComponent extends Component {
componentDidMount () {
BackHandler.addEventListener('hardwareBackPress', this._onBackPress)
}
componentWillUnmount () {
BackHandler.removeEventListener('hardwareBackPress', this._onBackPress)
}
_onBackPress = () => {
console.log('Event was triggered')
return true
}
render () {
return (
<Text>{'Some Text'}</Text>
)
}
}
export default ChildComponent
Run Code Online (Sandbox Code Playgroud)
具有模态(父级)的组件具有以下说明:
class ParentComponentWithModal …Run Code Online (Sandbox Code Playgroud)