[英]Trigger Class Function Call from Tab Navigator Tab Press - React Native/Navigation
I have a TabNavigator component and I want the individual Tab Screen state to get reset on a tab press. 我有一个TabNavigator组件,并且希望在按下Tab键时重置各个“ Tab屏幕”状态。 How do I call a class (component) method on a tab press?
如何在Tab键按下时调用类(组件)方法? I've looked at tabBarOnPress, but this takes a function from the parent level (TabNavigator).
我看过tabBarOnPress,但这需要父级(TabNavigator)的函数。 I want the class method to be triggered and I don't want to export that method.
我希望触发类方法,并且我不想导出该方法。
Suppose you have TabNavigator like this 假设您有这样的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 ExploreScreen.js
class ExploreScreen extends Component {
componentDidMount(){
this.props.navigation.setParams({
cancelState:this.cancelState
})
}
cancelState=()=>{
//your Stuff
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.