【问题标题】:react-native-router-flux addListener doesn't workreact-native-router-flux addListener 不起作用
【发布时间】:2020-10-08 02:56:18
【问题描述】:

我正在使用

react-native": "0.62.2", react-native-router-flux: "4.2.0-beta.1",

addListener 不起作用,console.log 永远不会调用

    componentDidMount() {
        this.props.navigation.addListener(ActionConst.RESET, () => {
            console.log('RESET');
        });
        this.props.navigation.addListener(ActionConst.FOCUS, () => {
            console.log('FOCUS');
        });
        this.props.navigation.addListener(ActionConst.PUSH, () => {
            console.log('PUSH');
        });
        this.props.navigation.addListener(ActionConst.POP_TO, () => {
            console.log('POP_TO');
        });
}

有没有我可以查看的方法或文档?

【问题讨论】:

    标签: react-native react-native-router-flux


    【解决方案1】:

    你只有

    • willFocus - 屏幕将聚焦
    • didFocus - 屏幕聚焦(如果有过渡,则过渡完成)
    • willBlur - 屏幕将失去焦点
    • didBlur - 屏幕失焦(如果有过渡,则过渡完成)

    添加监听器

    componentDidMount(){
        const didBlurSubscription = this.props.navigation.addListener(
          'didBlur',() => {
             console.log('didBlur');
           }
        );
    }
    
    componentWillUnmount(){
        // Remove the listener when you are done
        didBlurSubscription.remove();
    }
    

    DOC (v4.2.x 是 based on React Navigation v4.x)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-04-17
      • 1970-01-01
      相关资源
      最近更新 更多