美文网首页
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