Обнаружение темного режима iPhone iOS с React Native

Я знаю, что это возможно с помощью Swift:

override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
    if traitCollection.userInterfaceStyle == .light {
        print("Light mode")
    } else {
        print("Dark mode")
    }
}

Однако есть ли способ сделать это с помощью JavaScript?

Заглянув в проблемы github.com/facebook/react-native, я нашел только эту: github.com/facebook/react-native/issues/25322, которая была автоматически закрыта ботом.

joaumg 30.06.2019 01:40
Умерло ли Create-React-App?
Умерло ли Create-React-App?
В этом документальном фильме React.dev мы исследуем, мертв ли Create React App (CRA) и какое будущее ждет этот популярный фреймворк React.
Освоение React Native: Пошаговое руководство для начинающих
Освоение React Native: Пошаговое руководство для начинающих
React Native - это популярный фреймворк с открытым исходным кодом, используемый для разработки мобильных приложений. Он был разработан компанией...
В чем разница между react native и react ?
В чем разница между react native и react ?
React и React Native - два популярных фреймворка для создания пользовательских интерфейсов, но они предназначены для разных платформ. React - это...
От React к React Native: Руководство для начинающих по разработке мобильных приложений с использованием React
От React к React Native: Руководство для начинающих по разработке мобильных приложений с использованием React
Если вы уже умеете работать с React, создание мобильных приложений для iOS и Android - это новое приключение, в котором вы сможете применить свои...
Хуки React: что это такое и как их использовать
Хуки React: что это такое и как их использовать
Хуки React - это мощная функция библиотеки React, которая позволяет разработчикам использовать состояние и другие возможности React без написания...
12
1
9 221
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Да...

https://www.npmjs.com/package/react-native-dark-mode

ИЛИ

https://github.com/codemotionapps/react-native-dark-mode

import { useDarkMode } from 'react-native-dark-mode'

function Component() {
  const isDarkMode = useDarkMode()
  return <View style = {{ backgroundColor: isDarkMode ? 'black' : 'white' }} />
}

У меня не работало автоматическое связывание на RN0.6+, когда был установлен последний модуль. Пришлось бежать: react-native link react-native-dark-modecd iospod install Пока не зарегистрировался

projectds 14.02.2020 17:47
Ответ принят как подходящий

Вам не нужно react-native-dark-mode начиная с 0.62.2. Вы можете использовать

import { Appearance } from 'react-native'
...
Appearance.getColorScheme() === 'dark'

Вот коммит, который его добавляет: https://github.com/facebook/react-native/commit/63fa3f21c5ab308def450bffb22054241a8842ef

Другие вопросы по теме