【问题标题】:React Native- Pass Data between Drawer Navigator screensReact Native- 在 Drawer Navigator 屏幕之间传递数据
【发布时间】:2019-12-04 08:17:13
【问题描述】:

我有一个应用程序,其中有一个抽屉导航器。因为你不使用你不能使用的按钮

this.props.navigation.navigate('Screen', {param: data});

那么我如何将数据从一个 Drawer Navigator 屏幕传递到另一个屏幕?

【问题讨论】:

    标签: react-native navigation navigation-drawer screen


    【解决方案1】:

    您可以对抽屉中的每个项目使用 onItemPress(),您可以在其中导航和传递参数。

    Official docs on contentOptions for Items

    您还可以将 contentComponent 用于自定义抽屉,并可以为每个单独的项目添加 onPress 操作,并根据需要传递参数。

    【讨论】:

    • 谢谢,但是如何使用 onItemPress() ?
    • createDrawerNavigator({ Home:{screen:Home , contentOptions:{onItemPress({ route, focus })=>{//您的导航和参数 .navigation.navigate() }} })跨度>
    • 什么是“路线,重点”,在“=>”之后的第二部分中我必须拥有什么
    • 你可以看看官方文档:reactnavigation.org/docs/en/…希望对你有帮助!
    • 是的,我看过了,但我仍然不知道“路线,重点”是什么,第二部分是......所以基本上一切都xD
    【解决方案2】:

    创建函数调用该函数调用下面的行,

    this.props.navigation.navigate('Screen', {param: data});
    

    像这样:

    import { createDrawerNavigator } from 'react-navigation-drawer';
    import Screen from './Screen'
    const drawernav = createDrawerNavigator(
    {
    Main: { screen: stackNav } 
    });
    const Drawer = createAppContainer(drawernav)
    

    【讨论】:

    • 是的,这就是您将在 Stack Navigator 中使用的,但在抽屉导航器中我不能这样做,因为没有我可以调用的“onPress”函数
    猜你喜欢
    • 2018-01-10
    • 1970-01-01
    • 1970-01-01
    • 2020-08-16
    • 1970-01-01
    • 1970-01-01
    • 2018-03-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多