自定义导航栏中的 NavigationContainer 问题

Posted

技术标签:

【中文标题】自定义导航栏中的 NavigationContainer 问题【英文标题】:NavigationContainer Problem in Custom NavBar 【发布时间】:2021-10-17 02:44:50 【问题描述】:

我有一些无法克服的问题。

这是我的 TabBar 组件: 导航栏.js

...
// Js
import  AnimatedTabBarNavigator  from "react-native-animated-nav-tab-bar";
//Pages
import Home from "../../pages/Home"; //Home Page

const Tabs = AnimatedTabBarNavigator();
// thanks. https://js.coach/package/react-native-animated-nav-tab-bar
export default () => 
  return (
    <Tabs.Navigator
      // default configuration from React Navigation
      tabBarOptions=
        activeTintColor: "#2F7C6E",
        inactiveTintColor: "#222222",
        activeBackgroundColor: "#e4e4e7",
      
    >
      <Tabs.Screen name="Home" component=Home />
    </Tabs.Navigator>
  );
;

这是我的 App.js:

//NavBar
import NavBar from "./src/components/NavigationBar/NavBar";
import  NavigationContainer  from "@react-navigation/native";

export default function App() 
  return (
    <View style=styles.container>
      <NavigationContainer>
        <NavBar />
      </NavigationContainer>
    </View>
  );

...

错误及解释:

Component Exception
Couldn't register the navigator. Have you wrapped your app with 'NavigationContainer'?

我正在使用这个包 => react-native-animated-nav-tab-bar

我该如何解决这个问题?

【问题讨论】:

【参考方案1】:

这是react-native-animated-nav-tab-bar 包中的一个问题。它将@react-navigation/native 添加到其dependencies 中,这使得可以包含@react-navigation/native 的多个版本,因为您也将在自己的package.json 中拥有它,并且@react-navigation/native 的多个版本会导致此类问题:

https://github.com/torgeadelin/react-native-animated-nav-tab-bar/blob/0642630cb487a496b0619201daa68cdd164f8f14/package.json#L59

图书馆需要将@react-navigation/native移动到peerDependencies

react-native-screens 也是如此,它在 dependencies 中,而它应该在 peerDependencies 中。

请在图书馆的仓库中打开一个问题。

【讨论】:

我又遇到了同样的错误。我会考虑你的要求。 @AlperTaş 请务必在问题中分享我的答案,因为我认为图书馆作者不知道他们所做的是不正确的。

以上是关于自定义导航栏中的 NavigationContainer 问题的主要内容,如果未能解决你的问题,请参考以下文章

导航栏中的自定义文本

Wordpress 导航栏中的自定义简码

导航栏中的自定义字体截断使用分号而不是省略号

用两行更改此自定义导航栏中的文本颜色?

在导航栏中自定义 UIBarButtonItem

单击导航栏中的“返回”按钮时如何设置自定义视图控制器?