Как обернуть appContainer тэгом провайдера тем из Reaction-native-элементов? - PullRequest
0 голосов
/ 01 июля 2019

Мне нужно заключить основной компонент моего приложения в тег ThemeProvider, но я не знаю, где его заключить, потому что я использую appContainer из реагирующей навигации, похоже, что вместо этого мне нужно заключить в него appContainer.

Я работаю в реактивном проекте без выставки.Я импортирую реагировать родные элементы и реагировать навигации.Мне нужно приложить мой app.js, который уже обернут в appContainer

App.js

import { createSwitchNavigator, createStackNavigator, createAppContainer } from 'react-navigation';
import PantallaInicio from './components/home/PantallaInicio';
import PantallaLogin from './components/auth/PantallaLogin';
import PantallaRegistro from './components/auth/PantallaRegistro';
import PantallaCargando from './components/auth/PantallaCargando';

const AppStack = createStackNavigator({ Home: PantallaInicio, });
const AuthStack = createStackNavigator({ Login: PantallaLogin, Registro: PantallaRegistro });

export default createAppContainer(createSwitchNavigator(
  {
    AuthLoading: PantallaCargando,
    App: AppStack,
    Auth: AuthStack,
  },
  {
    initialRouteName: 'AuthLoading',
  }

));

index.js

/**
 * @format
 */

import {AppRegistry} from 'react-native';
import App from './src/App';
import {name as appName} from './app.json';

AppRegistry.registerComponent(appName, () => App);

Извините, я неУ вас еще ничего нет, спасибо за ваше время.

1 Ответ

0 голосов
/ 02 июля 2019

createAppContainer возвращает React Component.Таким образом, вы можете обернуть это, используя любой provider.

import React from 'react';
import {AppRegistry} from 'react-native';
import App from './src/App';
import { ThemeProvider } from 'react-native-elements';
import theme from './your-theme';
import {name as appName} from './app.json';

const ProvidedApp = () => {
  return <ThemeProvider theme={theme} ><App /></ThemeProvider>
}

AppRegistry.registerComponent(appName, () => ProvidedApp);
...