繁体   English   中英

从选项卡导航器选项卡按下触发类函数调用-反应本机/导航

[英]Trigger Class Function Call from Tab Navigator Tab Press - React Native/Navigation

我有一个TabNavigator组件,并且希望在按下Tab键时重置各个“ Tab屏幕”状态。 如何在Tab键按下时调用类(组件)方法? 我看过tabBarOnPress,但这需要父级(TabNavigator)的函数。 我希望触发类方法,并且我不想导出该方法。

假设您有这样的TabNavigator

const HOME = TabNavigator({
  [SCREENS.EXPLORESCREEN]: { screen: ExploreScreen },
  [SCREENS.ASKSCREEN]: { screen: AskScreen },
  },{
        initialRouteName: SCREENS.EXPLORESCREEN
    })
  const PrimaryNav = StackNavigator({
  [SCREENS.HOMESCREEN]: {
    screen: HOME,
    navigationOptions=({navigation})=>{
    return{
          tabBarOnPress :()=>{ 
            if (typeof navigation.state.params.cancelState!=="undefined"){
                 navigation.state.params.cancelState()
            }
            else{
            //your stuff
            }
           }   
      }
    }
  },
},
  {
    // Default config for all screens
    headerMode: "screen",
    initialRouteName: SCREENS.HOMESCREEN
    ,

  }

);

ExploreScreen.js

class ExploreScreen extends Component {

  componentDidMount(){
    this.props.navigation.setParams({
    cancelState:this.cancelState
    })

  }
  cancelState=()=>{
  //your Stuff
  }
}
  • 您也可以在组件级别使用navigationOptions。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM