Компонент экспортируется как неопределенныйAndroid

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Компонент экспортируется как неопределенный

Сообщение Anonymous »

Я впервые работаю с React Native, пытаясь запустить кроссплатформенное мобильное приложение, и столкнулся с некоторыми проблемами. Я использую маршрутизатор EXPO, и мое приложение устроено следующим образом

Код: Выделить всё

/app/context/AuthContext.tsx
/app/screens/Home.tsx
/app/screens/Login.tsx
/app/_layout.tsx
/package.json
Когда мое приложение запускается, оно сначала загружает файл _layout.tsx из того, что я могу собрать, и удаление этого файла вызывает ошибки, поэтому я использовал его для маршрутизации мой код зависит от того, вошли вы в систему или нет (через AuthContext), чтобы отображать вход в систему или домашнюю страницу при загрузке приложения.
При запуске приложения я получаю следующие две ошибки< /p>

Код: Выделить всё

Warning: React.jsx: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: undefined.
Check your code at _layout.tsx:23
и

Код: Выделить всё

Error: A navigator can only contain 'Screen', 'Group' or 'React.Fragment' as its direct children (found 'undefined' for the screen 'Login Screen'). To render this component in the navigator, pass it in the 'component' prop to 'Screen'.
Вот код для _layout.tsx

Код: Выделить всё

import { createNativeStackNavigator } from '@react-navigation/native-stack';
import { AuthProvider, useAuth } from './context/AuthContext';
import Home from './screens/Home';
import Login from './screens/Login';

const Stack = createNativeStackNavigator();

export default function RootLayout() {
return (



);
}

export const Layout = () => {
const { authState, onLogout } = useAuth();
return(

{authState?.authenticated ? (

) : (

)}
);
};
Таким образом, строка под номером 23 — это код . В настоящее время файлы представляют собой просто базовые шаблоны, которые выглядят следующим образом:

Код: Выделить всё

import { Text, View } from "react-native";
import React from 'react';

const Home = () => {
return (

Home

);
};
export default Home;
И как видите, я экспортирую компонент. У меня были теги в в качестве родительского тега, и он сказал мне, что один из них уже был вызван, и когда я это посмотрел, это связано с тем, что маршрутизатор EXPO, по-видимому, обрабатывает это, поэтому я удалил это, а затем получил новую ошибку о том, что могут отображаться только экраны, но она не определена, и первая ошибка говорит о том, что контекст становится неопределенным.
Почему я это делаю? мне не хватает того, что я не могу экспортировать?

Подробнее здесь: https://stackoverflow.com/questions/790 ... -undefined
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»