Я пытаюсь сохранить «состояние», в котором я могу сохранить, вошел ли пользователь в систему или нет. Но теперь проблема в том, что если я перезагружаю приложение и я вошел в систему, оно должно go на домашний экран, а когда я не вошел в систему, я хочу go для входа в систему.
Это мой главный навигатор;
const AppMenu = createDrawerNavigator(
{
agendaMenu: AgendaNavigator,
buildingMenu: BuildingNavigator,
agendaTabScreen: AgendaTabScreen,
loginScreen: LoginScreen,
settingsScreen: SettingsScreen,
},
{
initialRouteName: settings.LoggedIn ? 'agendaTabScreen' : 'loginScreen',
contentComponent: props => <MenuSideBar {...props} />,
},
)
export default createAppContainer(AppMenu)
Это мой файл SettingsContext;
import React from 'react'
import settingsDao from '../database/SettingsDao'
const initSettings = {
username: '',
password: '',
loggedIn: false,
}
const SettingsContext = React.createContext()
const settingsReducer = (state, action) => {
switch (action.type) {
case 'store':
const newSettings = { ...state, ...action.payload }
settingsDao.storeSettings(newSettings)
return newSettings
default:
return state
}
}
export const SettingsProvider = ({ value, children }) => {
const [settings, dispatch] = React.useReducer(settingsReducer, {
...initSettings,
...value,
})
return (
<SettingsContext.Provider value={{ settings, dispatch }}>
{children}
</SettingsContext.Provider>
)
}
export default SettingsContext
Есть предложения?