【发布时间】: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