如何从 Navigation Drawer 的 navigateOptions 访问数据

Posted

技术标签:

【中文标题】如何从 Navigation Drawer 的 navigateOptions 访问数据【英文标题】:How to access data from navigateOptions of Navigation Drawer 【发布时间】:2021-01-06 11:02:36 【问题描述】:

我在从边栏中的道具获取数据时遇到了麻烦,我使用导航抽屉将其编码为这样。 例如,我如何从 navigationOptions 访问该文本(“xd”)或者我如何在那里传递一个对象 并正确阅读?

contentComponent: props => <SideBar ...props  />, navigationOptions: 
      icon: 'xd'
  ,

其余代码

export default Sidebar = props => (
..Something not important in that question
          <DrawerNavigatorItems ...props style=
             
          />
      </View>

  </ScrollView>  
);

【问题讨论】:

【参考方案1】:

我不确定您的用例到底是什么,但将icon 作为道具直接传递给SideBar 组件可能更容易:

contentComponent: (props) => <SideBar ...props icon="xd" />

然后您可以像这样检索传递给您的SideBar 组件的icon 值:

export default Sidebar = (props) => (
  <ScrollView>
    <Text>props.icon</Text>
  </ScrollView>
);

我以Text 组件为例,但将Text 组件替换为您想要的视图。

【讨论】:

以上是关于如何从 Navigation Drawer 的 navigateOptions 访问数据的主要内容,如果未能解决你的问题,请参考以下文章

原创+译文官方文档中声明的如何创建抽屉导航栏(Navigation Drawer)

向@react-navigation/drawer 组件发送道具

如何在 react-native 中结合使用 Drawer Navigation 和 Stack Navigator?

如何使用 React Navigation Drawer 切换屏幕

如何在 Android 中为 Navigation Drawer 添加一个分区分隔符?

这个新的 Android studio 3.5 Navigation Drawer 示例代码如何运行