代码之家  ›  专栏  ›  技术社区  ›  Isaac

如何在默认导航选项上添加订阅

  •  0
  • Isaac  · 技术社区  · 5 年前

    我碰到过这个 solution ,正在尝试订阅导航生命周期的更新

    导航器.js

    const App = createStackNavigator(
      {
        screen1: { screen: MainScreen },
        screen2: { screen: SecondaryScreen },
      },
      {
        cardStyle: {
          backgroundColor: 'transparent'
        }
      }
    );
    
    const MainNavigator = createAppContainer(App);
    
    export default MainNavigator;
    

    我想知道是否有可能订阅 navigator 文件?或者我没有其他选择,只能在每个单独的屏幕上订阅?

    0 回复  |  直到 5 年前
        1
  •  0
  •   Vinil Prabhu    5 年前

    您可以为每个屏幕添加侦听器,如下所示

    constructor(props) {
            super(props);
            this.props.navigation.addListener(
                'willFocus',//event name
                payload => {
                    //do your work here
                }
            );
        }
    

    其他事件名称 以下内容: 'onDidFocus', 'onWillBlur' ,'onDidBlur'

    reference