Инвариантное нарушение: модуль AppRegistry не является зарегистрированным вызываемым модулем (вызов runApplication). Частой причиной ошибки является то, что

#javascript #react-native #runtime-error

#javascript #react-native #ошибка во время выполнения

Вопрос:

Я использую React native и снова и снова получаю одну и ту же ошибку. Пробовал все, например, закрытие всех запущенных программ узла, очистку кэша и проверку кэша, например, running (проверка кэша npm, запуск npm -сброс кэша и т. Д.). Но возникает та же ошибка. Сообщение об ошибке выглядит следующим образом: ** ОШИБКА ReferenceError: не удается найти переменную: строка состояния ** Нарушение инварианта ОШИБКИ: модуль AppRegistry не является зарегистрированным вызываемым модулем (вызов runApplication). Частой причиной ошибки является неправильный путь к файлу входа в приложение. Это также может произойти, когда пакет JS поврежден или возникает ошибка ранней инициализации при загрузке React Native.

Вот мой Index.js и App.js досье.

 /**
 * @format
 */

import {AppRegistry} from 'react-native';
import App from './App';
import {name as appName} from './app.json';

AppRegistry.registerComponent(appName, () => App);
 

и App.js файл:

 import React from 'react';
import { PersistGate } from 'redux-persist/integration/react'
import { createBottomTabNavigator } from '@react-navigation/bottom-tabs'
import { createStackNavigator } from '@react-navigation/stack';
import { NavigationContainer } from '@react-navigation/native';
import Ionicons from 'react-native-vector-icons/Ionicons';
import Home from './screens/Home';
import settings from './screens/settings';
import help from './screens/help';
import newTask from './screens/newTask';
import TaskProp from './screens/taskprop';
import firstOpened from './screens/firstopened';
import { Provider } from 'react-redux'
import store , { persistor }from './store/store';

const Tab = createBottomTabNavigator()
const MyStack = createStackNavigator()

export default class App extends React.Component {

  constructor() {
    super()
    this.state = {
      username: '',
    }
  }
  Tab() {
    return (
          <Tab.Navigator
            screenOptions={({ route }) => ({
            tabBarIcon: ({ focused, color, size }) => {
              let iconName;

              if (route.name === 'Home') {
                iconName = focused
                  ? 'ios-home'
                  : 'ios-home-outline';
              } else if (route.name === 'Help and Features') {
                iconName = focused
                ? 'book'
                : 'book-outline';
              } else if (route.name === 'Settings') {
                iconName = focused
                ? 'md-settings'
                : 'md-settings-outline'
              }
              return <Ionicons name={iconName} size={size} color={color} />;
            },
          tabBarOptions={{
            activeTintColor: 'tomato',
            inactiveTintColor: 'gray',
          }}
        >
          <Tab.Screen name="Home" component={Home} />
          <Tab.Screen name="Help and Features" component={help} />
          <Tab.Screen name="Settings" component={settings} />
        </Tab.Navigator>
    );
  }

  render(){
    return (
      <Provider store={store}>
        <PersistGate loading={null} persistor={persistor}>
          <NavigationContainer>
            <MyStack.Navigator screenOptions={{headerShown: false}}>
              <MyStack.Screen name="FirstOpened" component={firstOpened}/>
              <MyStack.Screen name="Tab" component={this.Tab} />
              <MyStack.Screen name="Add New Task" component={newTask} />
              <MyStack.Screen name="New Task" component={TaskProp} />
            </MyStack.Navigator>
          </NavigationContainer>
        </PersistGate>
      </Provider>
    )}
  }
 

Любые предложения приветствуются

Комментарии:

1. Эй, братан, ты узнал, как его запустить?

2. Да, проверьте весь импорт, у меня была неправильная ссылка на импорт, и пакет, который я устанавливал, не был импортирован. Вы можете просмотреть журналы с помощью adb logcat для получения дополнительной информации.

Ответ №1:

Мне пришлось проверить весь импорт, и я обнаружил, что некоторые из них относятся к файлам, которые я переместил. Их исправление устранило мою проблему.