React-Navigation-5:同一屏幕中的多个MaterialTopTabNavigator

2023-11-29

我正在升级我的项目react-navigation-v4 to react-navigation-v5。 我需要在同一屏幕内有两个顶部栏,将屏幕分为两半,但这样做会出现此错误:

错误:已为此容器注册另一个导航器。您可能在单个“导航容器”或“屏幕”下有多个导航器。确保每个导航器位于单独的“屏幕”容器下。

我搜索了很多,我知道我可以嵌套它们,但是如何将它们一起使用?

这是我的代码,给出了错误:

import React from 'react';
import { NavigationContainer } from '@react-navigation/native';
import Page1 from './pages/Page1'
import { createMaterialTopTabNavigator } from '@react-navigation/material-top-tabs';

const TopTab = createMaterialTopTabNavigator();
const BottomTab = createMaterialTopTabNavigator();

const TopTabComponent = () => (
  <TopTab.Navigator>
    <TopTab.Screen name='1' component={Page1} />
    <TopTab.Screen name='2' component={Page1} />
  </TopTab.Navigator>
)

const BottomTabComponent = () => (
  <BottomTab.Navigator>
    <BottomTab.Screen name='3' component={Page1} />
    <BottomTab.Screen name='4' component={Page1} />
  </BottomTab.Navigator>
)


export default class App extends React.Component {
  render() {
    return (
      <NavigationContainer>
        <TopTabComponent />
        <BottomTabComponent />
      </NavigationContainer>
    );
  }
}

有什么帮助吗?


你需要使用反应本机选项卡视图代替createMaterialTopTabNavigator。 createMaterialTopTabNavigator 本身包装了 react-native-tab-view 并向其添加导航逻辑(这样您就可以导航到包含选项卡的屏幕,然后导航到其中一个选项卡)。这个添加的逻辑正是破坏屏幕的原因,因为您试图同时渲染 2 个导航器,这在反应导航中是不允许的

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

React-Navigation-5:同一屏幕中的多个MaterialTopTabNavigator 的相关文章

随机推荐

  • 带有 Facelets (jsf) 和 xhtml 的 Eclipse 自动完成(内容辅助)

    如何使用 Facelets 在 xhtml 页面中为 JSF 1 2 标记激活 Eclipse 3 5 WTP 内容辅助 它适用于 jsp 文件 但不适用于 xhtml 我用谷歌搜索了很多 在很多地方 包括 MyFaces wiki 都说
  • Python - 使用 pyqtgraph 快速绘图(16ms)?

    我需要使用 pyqtgraph 绘制连续输入 因此我使用循环缓冲区来保存数据 我使用 deque 和 maxlen 来完成这项工作 Python 2 7 numpy 1 9 2 pyqtgraph 0 9 10 from collectio
  • 在 上添加边框

    在另一篇文章中 我读到 如果我需要为除标题行之外的每一行添加边框 我应该使用 THEAD TBODY 所以我已将其添加到页面中 但我找不到如何将其应用到 TBODY 我是新手 所以请耐心等待 我可以在整个表格周围放置边框 但需要排除标题行
  • 实体框架代码优先软删除延迟加载

    所以我首先使用实体 框架代码 所以没有 edmx 我有一个带有 bool IsEnabled 的基实体类来执行软删除 我正在使用存储库模式 因此可以使用 IsEnabled 过滤掉针对存储库的所有查询 但是 每当我使用存储库获取 IsEna
  • 使用 str.split 函数拆分数据框中的列

    我试图将带有逗号分隔值的列拆分为 2 列 但 str split 函数返回带有 0 和 1 的列 而不是拆分字符串值 我有一个数据框 其中有一列 全名 其中有一个全名 并用逗号分隔姓氏和名字 我使用了 str split 函数 该函数在执行
  • 为什么 C++ Map 的 [] 运算符调用映射值的默认构造函数? [复制]

    这个问题在这里已经有答案了 我用g 编译了以下代码 执行该行时将调用构造函数A m 1 为什么会发生这种情况 我认为没有必要在这里调用构造函数 struct A int mem A int arg A int main unordered
  • 将所有 标签替换为 img 替代文本

    我知道如何在 php 中执行此操作 但我需要在 javascript jquery 中完成此操作 我正在尝试类似以下的事情 NewBox html OldBox html Replace
  • 对象使用原型函数名称而不是其属性

    我创建了两个函数A和B 将A作为B的原型 jsfiddle function A function B this name Class B B prototype A var b new B alert b name expected Cl
  • 使用 VBA 查找 MS Office 修订版和内部版本

    The 主要版本和次要版本可以使用 Office 应用程序找到Application Version 返回示例 15 0 Office 2013 12 0 Office 2007 我需要修订版和构建版本Office 应用程序的示例 微软 O
  • 如何使用 Autofac 和 ASP.NET Core 在控制器上启用属性注入?

    似乎确实没有一种简单的方法来确保控制器具有属性注入 解决这个问题的方法是单独注册所有控制器 这似乎有点违背了目的 这 FromServices 属性是removed他们特别提到应该由各个 IoC 容器来确保这种情况发生 我是否遗漏了一些明显
  • 使用 Spring Data JPA 时我的存储库无法自动初始化

    在探索了几个教程后 我尝试将 spring data jpa 添加到我的 spring mvc web 项目中 但我发现我的存储库无法自动初始化 我的服务类中出现 NullPointerException 请看我下面的示例代码 我的存储库
  • Lua 编程 - os.execute() 在 Windows 中不起作用

    我正在 pure Lua 中创建一个函数来扫描目录中的文件并将它们放在另一个文件中 我尝试的命令是 os execute dir B C Users Fernando workspace Organizator2 s1 gt C Users
  • 如何在eclipselink中访问多个租户?

    eclipselink 或 Hibernate 中的租户是一个很好的概念 可以将数据域彼此分开 我正在使用 eclipselink 和单表策略 有时需要访问多个租户的数据 例如出于管理目的 有没有好的方法可以实现这一目标 我不想跑遍所有租户
  • 将图表坐标转换为像素

    我应该在极坐标图中画一个圆圈 上面有一些文字 我开始使用 PostPaint 获得了图表图形 因此我能够在上面绘制和编写自定义内容 我的主要问题是位置 例如 我想在 x 和 y 轴交叉的地方绘制 sg 但我没有找到任何有效的方法将图形坐标
  • firebase subscribeToTopic OnCompleteListener 没有被调用

    我正在开发一个 Android 项目 其中用户将订阅 Firebase 主题 我写了如下代码 FirebaseMessaging getInstance subscribeToTopic update addOnCompleteListen
  • 使用 OpenSSL 的客户端/服务器程序的文档

    我有一个用 C 编写的 TCP 客户端 服务器程序 我想使用 OpenSSL 保护交换的数据 这对我来说很新 我在网上找不到示例 您能指出一些关于此事的 googd 文档吗 谢谢你 检查以下链接 他们应该有帮助 http www linux
  • 有人做过 Osherove 的 TDD Kata“字符串计算器”的 Objective-C Xode 版本吗?

    总是尝试更好地编码 我对针对 Objective C 和 Xcode 进行 TDD 很感兴趣 你知道有什么帖子可以实现类似的功能吗Roy Osherove 的 字符串计算器 Kata Update 尝试找出如何在 iOS 上加速 TDD 我
  • 如何在 Tkinter 文本搜索方法中使用正则表达式?

    我想在方括号内找到一个突出显示的区域 这些方括号可以包含任何文本 A hello world B this is a tree A tkinter documentation is bad I want to highlight the w
  • Firefox WebExtension:如何在禁用/卸载之前运行代码?

    我最近将我的 GreaseMonkey 脚本转换为 WebExtension 只是为了获得该过程的第一印象 现在我已经达到了这样一个地步 当所述扩展被禁用 卸载时 最好进行一些清理或简单地撤消我的所有更改 从我在 Mozilla 页面上看到
  • React-Navigation-5:同一屏幕中的多个MaterialTopTabNavigator

    我正在升级我的项目react navigation v4 to react navigation v5 我需要在同一屏幕内有两个顶部栏 将屏幕分为两半 但这样做会出现此错误 错误 已为此容器注册另一个导航器 您可能在单个 导航容器 或 屏幕