Темный режим не работает Реагирует Навигация Реагирует родной

#react-native #react-navigation #react-navigation-v5 #react-navigation-stack #react-navigation-bottom-tab

#реагирует на родной язык #реагирует-навигация #реагирует-навигация-v5 #реагирует-навигация-стек #реагирует-навигация-нижняя вкладка

Вопрос:

Я работаю над этим, чтобы реализовать темный режим в React Native с помощью React Navigation. но он изменяет только навигатор нижней панели, а не экраны внутри него. можете ли вы помочь мне с этим

Код закуски

https://snack.expo.io/@belgin/news-app

Ответ №1:

Вы несете ответственность за стиль внутри своих собственных компонентов. Вы стилизуете фон как светлый, установка темы навигации на темный не приведет к волшебному изменению определенных вами цветов.

Чтобы изменить темы для работы с вашими компонентами, вам нужно использовать useTheme хук для установки цветов в ваших собственных компонентах вместо их жесткого кодирования.

 import * as React from 'react';
import { TouchableOpacity, Text } from 'react-native';
import { useTheme } from '@react-navigation/native';

function MyScreen() {
  const { colors } = useTheme();

  return (
    <View style={{ flex: 1, backgroundColor: colors.background }}>
      {/* screen content */}
    </View>
  );
}
 

https://reactnavigation.org/docs/themes/#using-the-current-theme-in-your-own-components