Стили переведены на react-native-unistyles. Удален собственный React Context
и провайдер.
Темы регистрируются автоматически. Обёртка больше не нужна.
Используйте useUnistyles:
import { useUnistyles } from '@cdek-it/react-native-ui-kit'
const { theme } = useUnistyles()
theme.fontsИли прямо в стилях через StyleSheet.create(...).
Используйте StyleSheet.create(...):
import { StyleSheet } from '@cdek-it/react-native-ui-kit'
const styles = StyleSheet.create((theme) => ({
container: { backgroundColor: theme.Button.Brand.buttonBg },
}))makeStyles использует useUnistyles(), что вызывает React-ререндеры при смене
темы. StyleSheet.create(...) — нативный путь, обновляет стили без
ререндеров.
SDK реэкспортирует StyleSheet, useUnistyles, UnistylesRuntime и
withUnistyles, поэтому потребителям не нужно импортировать
react-native-unistyles напрямую.
import { UnistylesRuntime, useUnistyles } from '@cdek-it/react-native-ui-kit'
const themeName = UnistylesRuntime.themeName // 'light' | 'dark'Для реактивного поведения используйте useUnistyles():
const { rt } = useUnistyles()
rt.themeNameimport { UnistylesRuntime } from '@cdek-it/react-native-ui-kit'
UnistylesRuntime.setTheme('dark')Для получения нативного обновления стилей без React-ререндеров:
- Используйте
StyleSheet.create(...). - Добавьте
autoProcessPathsв Babel-конфиг вашего приложения.
Документация: