gpt4 book ai didi

react-native - 如何在 tabnavigator react native 中使用 tabBarOnPress

转载 作者:行者123 更新时间:2023-12-03 15:20:58 26 4
gpt4 key购买 nike

我遇到了一个大问题,那就是当我点击选项卡时我想要 onPress 事件。
我的代码在这里:-

static navigationOptions = ({navigation, screenProps}) => {
const params = navigation.state.params || {};
console.log("Params:-",params);
return {
title:Strings.title_dashboard,
headerStyle:{ backgroundColor: Colors.header_blue},
headerTitleStyle:HeaderStyle.titleCenter,
tabBarOnPress: (tab, jumpToIndex) => {
console.log("Tab Click",tab);
jumpToIndex(tab.index);
navigation.state.params.onFocus()
},
headerRight:<TouchableOpacity onPress={()=>Alert.alert(Strings.avanza,Strings.under_imple)}><View><Image source={{uri: "filter_icon"}} style={{height: 18, width: 18,marginRight:10,}} /></View></TouchableOpacity>,
}
}

在这里,我在 componentDidMount 中设置了这样的参数:
this.props.navigation.setParams({
handleGrid: this.callServer.bind(this)
})

在这里出现错误无法获得此点击事件。

请帮帮我。

谢谢你。

最佳答案

这是我的方法。它适用于 react-navigation 的 5.x.x 版本:

const BottomTab = createBottomTabNavigator();
const Tabs = props => (
<BottomTab.Navigator
initialRouteName="Foo"
...
<BottomTab.Screen
name="Foo"
component={Foo}
initialParams={props.route.params}
listeners={{
tabPress: e => {
// e.preventDefault(); // Use this to navigate somewhere else
console.log("Foo tab bar button pressed")
},
}}
/>
</BottomTab.Navigator>
);

阅读更多关于 listeners .

对于 3.x.x 版本,我希望也是第 4 版,请使用这个。
let Tabs = createBottomTabNavigator(
{
FooTab: Foo,
},
{
initialRouteName: "FooTab",
defaultNavigationOptions: ({ navigation }) => ({
tabBarOnPress: ({ navigation, defaultHandler }) => {
console.log('onPress:', navigation.state.routeName);
defaultHandler()
},
}),
}
);

对于 2.x.x 版本,请使用 navigationOptions而不是 defaultNavigationOptions .

关于react-native - 如何在 tabnavigator react native 中使用 tabBarOnPress,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48031729/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com