React Native 未处理的JS异常:需要未知模块“9”

nzkunb0c  于 2023-06-24  发布在  React
关注(0)|答案(2)|浏览(93)

所以我试图设置一个登录屏幕的导航,我已经尝试重新链接依赖和安装软件包一遍,我只工作了两个文件。我在MacOS上工作,并在iOS 13.5上模拟。

App.js

import React, { Component } from 'react'
import {
  StyleSheet,
  View
} from 'react-native'

import Mystack from './navigators/StackNavigator'

export default class App extends Component {

render() {
  return (
 <NavigationContainer>
    <Mystack/>
 </NavigationContainer>
 )
 }}
 const styles = StyleSheet.create({
  container: {
},
 })

和StackNavigator.js

import * as React from 'react';
import { createStackNavigator} from '@react-navigation/stack';
import { NavigationContainer } from '@react-navigation/native';
import LogIn from './src/components/LogIn.js'
import SignUp from './src/components/SignUp.js'
import Dashboard from './src/components/Dashboard.js'

const Stack = createStackNavigator();

function Mystack() {
     return(
        <Stack.Navigator initialRouteName = "LogIn"
         screenOptions = {{
         headerTitleAlign: 'center',
         HeaderStyle: {
             backgroundColor: "#FFF700",
         },
           headerTintColor: '#FFF',
           headerTitleStyle: {
               fontWeight: 'bold',
         },
        }}>
        <Stack.Screen name = "LogIn"
        component = {LogIn}
        options = {{
           title: 'LogIn',
           headerShown: false
        }}/>
        <Stack.Screen name = "SignUp"
         component = {SignUp}
         options = {{
             title: 'SignUp',
             headerShown: false
        }}/>
        <Stack.Screen name = "Dashboard"
        component = {Dashboard}
        options = {{
            title: 'Dashboard'
        }
        }/>
        </Stack.Navigator>
       )

       }

      export default Mystack;
ezykj2lf

ezykj2lf1#

我不知道这是正确的解决方案或没有,但重新启动包(地铁服务器)为我工作。

odopli94

odopli942#

这通常发生在metro不同步的时候,我经常注意到每当我切换分支时都会发生这种情况,并且它们在package.json内部有不同的依赖项/版本。
通常对我来说有效的是执行以下步骤之一:
1.终止metro会话并再次运行yarn start,有时yarn start --reset-cache会有帮助。
1.运行yarnnpm i来安装和更新依赖项,然后通过运行yarn start再次启动metro。
1.如果你在android上,有时模拟器或设备与metro之间的连接中断,所以运行adb reverse tcp:8081 tcp:8081并在metro的终端内按R将重新启动并运行应用程序,而不会出现错误。

相关问题