如何在React Navigation上的Drawer内部调用函数而不是屏幕?

问题描述 投票:1回答:1

我用过"react-navigation": "^4.0.10", "react-navigation-drawer": "^2.3.2",

并安装一个抽屉,在其中,我添加了我的物品,其中一个是“给我们打电话],它应该打开电话,所以我用了它[[Linking,我不知道是否这是在RN-drawer中调用函数而不是默认屏幕的好方法

所以我这样做是

但是单击此项目后我的应用程序崩溃了,并停止工作!

那么我该如何实现呢?const DrawerNavigator = createDrawerNavigator({ ... CallUsDrawer: { screen: () => Linking.openURL(`tel:0597093830`), navigationOptions: { drawerLabel: 'call us', drawerIcon: () => <Icon name="ios-call" size={28} color="#1E558E" />, }, }, ... });
javascript android react-native react-navigation react-navigation-drawer
1个回答
0
投票
这是错误的方法。您应该为contentcomponent创建一个createDrawerNavigator,并且应该有一个<Button>或“打电话给我们”的名称。然后在该组件的onPress中添加逻辑Linking.openURL( tel:0597093830 )

请检查,

https://reactnavigation.org/docs/en/drawer-navigator.html#providing-a-custom-contentcomponent

样本

const drawerNavigator = createDrawerNavigator( { ... screens here }, { contentComponent: MenuScreen, drawerWidth: 300 } );

其中MenuScreen是一个组件
© www.soinside.com 2019 - 2024. All rights reserved.