【问题标题】:TypeError: undefined is not a function (near '...(0, _reactNavigationTabs.createBottomTapNavigator)...')TypeError: undefined is not a function (near '...(0, _reactNavigationTabs.createBottomTapNavigator)...')
【发布时间】:2023-03-29 16:45:01
【问题描述】:

您好,我总是弹出这个错误:

TypeError: undefined is not a function (靠近'...(0, _reactNavigationTabs.createBottomTapNavigator)...') 在 node_modules/react-native/Libraries/Core/ExceptionsManager.js:104:6 in reportException 在 node_modules/react-native/Libraries/Core/ExceptionsManager.js:172:19 in handleException 在 node_modules/react-native/Libraries/Core/setUpErrorHandling.js:24:6 in handleError 在 ErrorUtils.reportFatalError 中的 node_modules/@react-native/polyfills/error-guard.js:49:36 在 node_modules/metro-runtime/src/polyfills/require.js:204:6 在 guardedLoadModule 全局代码中http://10.0.5.48:19000/node_modules/expo/AppEntry.bundle?platform=ios&dev=true&hot=false&strict=false&minify=false:165799:3

不变违规:“main”尚未注册。在以下情况下可能会发生这种情况:

  • Metro(本地开发服务器)从错误的文件夹运行。检查 Metro 是否正在运行,将其停止并在当前项目中重新启动。
  • 由于错误而无法加载模块并且未调用AppRegistry.registerComponent。 在 node_modules/react-native/Libraries/Core/ExceptionsManager.js:104:6 in reportException 在 node_modules/react-native/Libraries/Core/ExceptionsManager.js:172:19 in handleException 在 node_modules/react-native/Libraries/Core/setUpErrorHandling.js:24:6 in handleError 在 ErrorUtils.reportFatalError 中的 node_modules/@react-native/polyfills/error-guard.js:49:36

我的 App.js 看起来像这样:


import React from "react";
import { createAppContainer, createSwitchNavigator } from 'react-navigation'
import { createStackNavigator } from "react-navigation-stack";
import { createBottomTapNavigator } from 'react-navigation-tabs';
import AccountScreen from "./src/screens/AccountScreen";
import SignInScreen from "./src/screens/SignInScreen";
import SignUpScreen from "./src/screens/SignUpScreen";
import TrackCreateScreen from "./src/screens/TrackCreateScreen";
import TrackDetailScreen from "./src/screens/TrackDetailScreen.js";
import TrackListScreen from "./src/screens/TrackListScreen";

const switchNavigator = createSwitchNavigator(
  {
    loginFLow: createStackNavigator({
      SignUp: SignUpScreen,
      SignIn: SignInScreen
    }),
    mainFlow: createBottomTapNavigator({
      trackListFlow: createStackNavigator({
        TrackList: TrackListScreen,
        TrackDetail: TrackDetailScreen
      }),
      TrackCreate: TrackCreateScreen,
      Account: AccountScreen
    })
  }
)

export default createAppContainer(switchNavigator)

这是我的 package.json:

{
  "name": "tracks",
  "version": "1.0.0",
  "main": "node_modules/expo/AppEntry.js",
  "scripts": {
    "start": "expo start",
    "android": "expo start --android",
    "ios": "expo start --ios",
    "web": "expo start --web",
    "eject": "expo eject"
  },
  "dependencies": {
    "@react-native-community/masked-view": "^0.1.11",
    "@react-navigation/bottom-tabs": "^6.2.0",
    "@react-navigation/native": "^6.0.8",
    "@react-navigation/stack": "^6.1.1",
    "expo": "~44.0.0",
    "expo-status-bar": "~1.2.0",
    "react": "17.0.1",
    "react-dom": "17.0.1",
    "react-native": "0.64.3",
    "react-native-gesture-handler": "~2.1.0",
    "react-native-reanimated": "~2.3.1",
    "react-native-safe-area-context": "3.3.2",
    "react-native-screens": "~3.10.1",
    "react-native-web": "0.17.1",
    "react-navigation": "^4.4.4",
    "react-navigation-stack": "^2.10.4",
    "react-navigation-tabs": "^2.11.2"
  },
  "devDependencies": {
    "@babel/core": "^7.12.9"
  },
  "private": true
}

我正在使用博览会。这是由于过时的语法还是有人知道问题可能是什么?

我安装了所有依赖项并查看了文档但没有找到任何东西

【问题讨论】:

  • 你能把代码加到你的 index.js 上吗
  • 我没有 index.js 文件夹,我添加的代码是我的 app.js btw
  • 不应该是createBottomTabNavigator?用“b”而不是“p”

标签: react-native expo react-navigation


【解决方案1】:

这是一个拼写错误。应该是:

createBottomTabNavigator 

而不是:

createBottomTapNavigator

【讨论】:

  • 谢谢,我没看到。
  • @JulianRoma 没问题,很乐意为您提供帮助 =)
【解决方案2】:

有许多与您的项目相关的不同缓存可能会阻止您的项目按预期运行。有时清除缓存可以帮助您解决与过时或损坏数据相关的问题,并且在进行故障排除和调试时通常很有用。

使用它来清除您的项目缓存:

expo r -c

您可以在此处阅读更多信息:

https://forums.expo.dev/t/how-to-clear-the-expo-and-react-native-packager-caches-metro-watchman-haste/1352

【讨论】:

  • 您好,感谢您的回答!我已经尝试过了,但它仍然向我显示了同样的错误。难道我使用的语法来自版本 4,但在我的包 json 中有“@react-navigation/bottom-tabs”:“^6.2.0”吗?因此它的语法问题不同?
猜你喜欢
  • 1970-01-01
  • 2020-02-15
  • 2019-10-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-09-26
  • 2015-06-24
相关资源
最近更新 更多