Вот файл приложения:
import React from 'react';
import { createAppContainer, createSwitchNavigator } from 'react-navigation';
import { createStackNavigator } from 'react-navigation-stack';
import { createBottomTabNavigator } from 'react-navigation-tabs';
import AccountScreen from './src/screens/AccountScreen';
import SigninScreen from './src/screens/SigninScreen';
import SignupScreen from './src/screens/SignupScreen';
import TrackListScreen from './src/screens/TrackListScreen';
import TrackDetailScreen from './src/screens/TrackDetailScreen';
import TrackCreateScreen from './src/screens/TrackCreateScreen';
import {setNavigator} from './src/navigationRef';
import ResolveAuthScreen from './src/screens/ResolveAuthScreen';
import {Provider as LocationProvider} from './src/context/LocationContext';
import {Provider as AuthProvider} from './src/context/AuthContext';
const switchNaivgator= createSwitchNavigator({
ResolveAuth:ResolveAuthScreen,
loginFlow: createStackNavigator({
Signup:SignupScreen,
Signin:SigninScreen
}),
mainFlow: createBottomTabNavigator({
trackListFlow: createStackNavigator({
TrackList:TrackListScreen,
TrackDetail:TrackDetailScreen
}),
TrackCreate:TrackCreateScreen,
Account:AccountScreen
})
});
const App= createAppContainer(switchNaivgator);
export default () => {
return (
<LocationProvider>
<AuthProvider>
<App
ref={ navigator => {
setNavigator(navigator)
}}
/>
</AuthProvider>
</LocationProvider>
);
}
В этом случае я не могу использовать функции, определенные внутри LocationProvider, но могу использовать переменную в AuthProvider .. !! То же самое, если я переписываю раздел как
export default () => {
return (
<AuthProvider>
<LocationProvider>
<App
ref={ navigator => {
setNavigator(navigator)
}}
/>
</LocationProvider>
</AuthProvider>
);
}
Теперь я могу использовать значения, определенные внутри LocationProvider, но не могу получить доступ к значениям внутри AuthProvider .. !!