Почему моя реализация React Native Navigation на Android работает так смехотворно медленно?Android

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Почему моя реализация React Native Navigation на Android работает так смехотворно медленно?

Сообщение Anonymous »


Я создаю небольшое приложение-головоломку, похожее на кроссворд, используя Expo/React Native/Typescript.

Вот мой App.tsx:

const Stack = createNativeStackNavigator(); экспортировать функцию по умолчанию App() { возвращаться ( ); } А вот сокращенная версия компонента PuzzleMain:

const PuzzleMain: React.FC = ({ навигация }) => { const [selectedSection, setSelectedSection] = useState(PuzzleSection.Grid) useEffect(() => { Navigation.setOptions({ headerRight: () => ( ), }); }, [навигация, выбранный раздел]); const Grid = ; const ключView = ; return {selectedSection == PuzzleSection.Grid ? сетка: подсказка} ; } const SwitchSectionButton: React.FC = ({ selectedSection, setSelectedSection }) => { вернуть setSelectedSection(selectedSection == PuzzleSection.Grid ? PuzzleSection.Clues: PuzzleSection.Grid) } title={selectedSection} />; } Подводя итог, можно сказать, что есть компонент «сетка» и компоненты «подсказки», а кнопка SwitchSectionButton используется для переключения между ними.

Нажатие этой кнопки занимает, без преувеличения, около 3 полных секунд, чтобы внести изменения на Pixel 5, который я использую для тестирования. Что я здесь делаю не так? Используя Expo, чтобы открыть это в Интернете, это происходит мгновенно, возможно, это специфично для Android?

Что я пробовал:
[*]Запоминание компонентов PuzzleGrid и PuzzleCluesView (const PuzzleGrid: React.FC = memo(({ Puzzle }) .... По сути, это не имело никакого значения. [*]Вместо этого я переключился на использование TabView для перемещения между компонентами — это сработало! Но честно говоря, я бы предпочел иметь и то, и другое, и кнопка работала одинаково медленно, когда я включил ее в реализацию TabView. [*]Использование StackNavigator вместо NativeStackNavigator — это не имело никакого значения. [*]Использование npx expo start --no-dev, просто создание apk и установка — это ускорило процесс, но, вероятно, все равно заняло целую секунду или две, что слишком медленно. >
Ответить

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

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

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

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

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