美文网首页
react navigation screen add back

react navigation screen add back

作者: zwebbin | 来源:发表于2018-10-23 17:57 被阅读0次

    在一个component里面加上对返回键的监听,但是如果有一个新的screen push过来,返回键的监听依旧存在,所以需要在页面切换的时候,对监听进行注销与重新注册。

    class MyComponent extends React.Component {
        
        constructor(props) {
            super(props);
            this.didFocusSubscription = props.navigation.addListener('didFocus', () => {
                BackHandler.addEventListener('hardwareBackPress', this.backPress);
            });
        }
    
        componentDidMount() {
            this._willBlurSubscription = this.props.navigation.addListener('willBlur', () => {
                BackHandler.removeEventListener('hardwareBackPress', this.backPress);
            });
        }
    
        componentWillUnmount() {
            if (this.didFocusSubscription) this.didFocusSubscription.remove();
            if (this._willBlurSubscription) this._willBlurSubscription.remove();
        }
    }
    

    相关文章

      网友评论

          本文标题:react navigation screen add back

          本文链接:https://www.haomeiwen.com/subject/brwazftx.html