ОС: macOS 15.7.2
ЦП: (24) Arm64 Apple M2 Ultra
Память: 133,40 ГБ / 192,00 ГБ
Оболочка:
версия: «5.9»
путь: /bin/zsh
Двоичные файлы:
Узел:
версия: 18.20.8
путь: /Users/u/.nvm/versions/node/v18.20.8/bin/node
Yarn: не найден
npm:
версия: 10.8.2
путь: /Users/u/.nvm/versions/node/v18.20.8/bin/npm
Watchman:
версия: 2025.11.10.00
путь: /opt/homebrew/bin/watchman
Менеджеры:
CocoaPods:
версия: 1.16.2
путь: /Users/u/.rbenv/shims/pod
SDK:
iOS SDK:
Платформы:
- DriverKit 25.1
- iOS 26.1
- macOS 26.1
- tvOS 26.1
- VisionOS 26.1
- watchOS 26.1
Android SDK: не найден
IDE:
Android Studio: 2025.2 AI-252.25557.131.2521.14432022
Xcode:
версия: 26.1.1/17B100
путь: /usr/bin/xcodebuild
Языки:
Java:
версия: 11.0.29
путь: /opt/homebrew/opt/openjdk@11/bin/javac
Ruby:
версия: 3.3.0
путь: /Users/u/.rbenv/shims/ruby
npmPackages:
"@react-native-community/cli":
установлено: 11.3.8
требуется: последняя
реакция:
установлена: 18.2.0
требуется: 18.2.0
react-native:
установлена: 0.72.6
требуется: 0.72.6
react-native-macos: не найдена
npmGlobalPackages:
"react-native": не найден
Android:
hermesEnabled: true
newArchEnabled: false
iOS:
hermesEnabled: false
newArchEnabled: не найден
Проблема
Мое приложение зависает на экране загрузки. Я получаю ошибки о вложенном навигационном контейнере.
Единственный навигационный контейнер, который я нашел, находился в файле MainScreen.tsx.
Сообщения об ошибках
- Ошибка вложенного навигационного контейнера:
Код: Выделить всё
Error: Looks like you have nested a 'NavigationContainer' inside another.
Normally you need only one container at the root of the app.
App.tsx:
Код: Выделить всё
import React from 'react';
import { NavigationContainer, useLinking } from '@react-navigation/native';
import MainScreen from './screens/MainScreen';
export default function App() {
const ref = React.useRef(null);
const [isReady, setIsReady] = React.useState(false);
const [initialState, setInitialState] = React.useState();
const { getInitialState } = useLinking(ref, {
prefixes: ['myapp://'],
config: {
screens: {
Home: 'home',
},
},
});
React.useEffect(() => {
getInitialState()
.then(state => {
if (state !== undefined) {
setInitialState(state);
}
})
.finally(() => {
setIsReady(true);
});
}, [getInitialState]);
if (!isReady) {
return Loading...;
}
return (
);
}
Код: Выделить всё
import React from 'react';
import { NavigationContainer } from '@react-navigation/native';
import { createStackNavigator } from '@react-navigation/stack';
const Stack = createStackNavigator();
export default function MainScreen() {
return (
);
}
Код: Выделить всё
import React from 'react';
import { View, Text } from 'react-native';
export default function HomeScreen() {
return (
Home Screen
);
}
- Удаление NavigationContainer из MainScreen — возникла ошибка «Не удалось зарегистрировать навигатор»
- Использование ссылки вместо useLinking — все равно зависает при загрузке
- Обновление пакетов React-Navigation с v5 до v6
- Как мне структурировать навигацию с помощью React Navigation v6?
- Должен ли я использовать useLinking или ссылку?
/>
- Приложение работало на более старой версии React Native (0.62)
- Недавно обновлено до RN 0.72
Подробнее здесь: https://stackoverflow.com/questions/798 ... loading-sc
Мобильная версия