#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:
Мне пришлось проверить весь импорт, и я обнаружил, что некоторые из них относятся к файлам, которые я переместил. Их исправление устранило мою проблему.