React Navigation Material Верхние вкладки Навигатор Условный рендеринг пустого экрана на iOSIOS

Программируем под IOS
Anonymous
React Navigation Material Верхние вкладки Навигатор Условный рендеринг пустого экрана на iOS

Сообщение Anonymous »

У меня возникла эта проблема с моим приложением Expo React Native на iOS только там, где после замены экрана входа в систему на главный экран отображается пустой экран в результате простого изменения состояния компонента, например Условный рендеринг. Это начало происходить после обновления с Expo 49 на 51.
Изображение
< /p>
Вот минимальный воспроизводимый код.

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

import { Text, Button, View } from 'react-native';
import { useState } from 'react';
import { createMaterialTopTabNavigator } from '@react-navigation/material-top-tabs';
import { NavigationContainer } from '@react-navigation/native';

const MaterialTopTab = createMaterialTopTabNavigator();

export default function App() {
const [authenticated, setAuthenticated] = useState(false);
return (


{!authenticated ? (


{(props) => }


{(props) => }


) : (


{(props) => }


{(props) => }


)}


);
}

const LoginScreen = ({ setAuthenticated }) => {
return (

Login Screen
 setAuthenticated((prev) => !prev)} />

);
};

const MainScreen = ({ setAuthenticated }) => {
return (

Main Screen!
 setAuthenticated((prev) => !prev)} />

);
};

Как вы можете видеть на видео, отображается начальный экран входа в систему. Когда я нажимаю «Войти», состояние «аутентифицировано» этого компонента меняется на true. и главный экран должны отображаться, но это не так. Первый главный экран отображается только после перехода ко второму главному экрану (или любому другому экрану). То же самое происходит, когда я нажимаю «Выход», первый экран входа в систему не отображается, пока я не перейду ко второму экрану входа.
Эта проблема возникает только на iOS, где Material Top Используется Tab Navigator. Я пробовал другие навигаторы, такие как Stack, BottomTab, Drawer, которые работают нормально.
Была ли у кого-нибудь такая проблема и как ее исправить?< /p>
Спасибо
Я пробовал следующее, но ничего не помогло:

Подробнее здесь: https://stackoverflow.com/questions/785 ... ank-screen

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