Я импортировал Ui-Kitten для моего собственного проекта. Я слежу за документами и замечаю, что у них есть функция для изменения темы. В моем приложении. js я также объявляю навигатор и поставщиков. Как я могу сделать значение theme
в <ApplicationProvider theme={theme}>
доступным для экрана / компонента в моем приложении?
App.js:
// ui-kitten
import { ApplicationProvider, IconRegistry } from '@ui-kitten/components';
import { mapping, light as lightTheme, dark as darkTheme } from '@eva-design/eva';
import { EvaIconsPack } from '@ui-kitten/eva-icons';
...
// our app export:
export default () => {
<Provider1>
<Provider2, etc>
<ApplicationProvider mapping={ mapping } theme={ darkTheme }>
<IconRegistry icons={ EvaIconsPack }/>
<App ref={ (navigator) => {
setNavigator(navigator)
} }/>
</ApplicationProvider>
</Provider2, etc>
</Provider1>
Я уже пытался создать ThemeContext:
export default () => {
const { setTheme } = useContext(ThemeContext);
<Provider1>
<Provider2, etc>
<ApplicationProvider mapping={ mapping } theme=setTheme>
<IconRegistry icons={ EvaIconsPack }/>
<App ref={ (navigator) => {
setNavigator(navigator)
} }/>
</ApplicationProvider>
</Provider2, etc>
</Provider1>