私は 3 を使用しているアプリを持っていContext Provider
ます。<App/>
アプリが機能するには、これらすべてをラップ する必要がありますproviders
。アプリが成長するにつれて、接続する必要があるデータの種類が増えるためのプロバイダーがいくつか増えることを期待しています。プロバイダーを に渡すためのより良い方法があるかもしれないと、私はすでに感じ始めています<App />
。
私のApp.js
コード:
import React from 'react';
import { createStackNavigator } from 'react-navigation-stack';
import { createAppContainer } from 'react-navigation';
import { Provider as BlogProvider} from './src/context/BlogContext';
import { Provider as VehicleProvider} from './src/context/VehicleContext';
import { Provider as AuthProvider} from './src/context/AuthContext';
import IndexScreen from './src/screens/IndexScreen';
import ShowScreen from './src/screens/ShowScreen';
import CreateScreen from './src/screens/CreateScreen';
import EditScreen from './src/screens/EditScreen';
import VehicleScreen from './src/screens/VehicleScreen';
const navigator = createStackNavigator(
{
Index: IndexScreen,
Show: ShowScreen,
Create: CreateScreen,
Edit: EditScreen,
Debug: DebugScreen,
Vehicle: VehicleScreen,
},
{
initialRouteName: 'Index',
defaultNavigationOptions: {
title: 'Main'
}
}
);
const App = createAppContainer(navigator);
export default () => {
return (
<BlogProvider>
<VehicleProvider>
<AuthProvider>
<App />
</AuthProvider>
</VehicleProvider>
</BlogProvider>
);
};
私が持っている質問のいくつかは次のとおりです。
- アプリで複数のコンテキスト プロバイダーを使用するより良い方法はありますか。
- これらのプロバイダーが入れ子になっている順序は、アプリに影響を与えますか?
- プロバイダーの追加をスキップして
<App/>
、代わりに必要な任意の画面にプロバイダーをインポートし、その画面要素をラップすることはできますか?