diff --git a/App.tsx b/App.tsx index 166f144..2bafdfc 100644 --- a/App.tsx +++ b/App.tsx @@ -29,6 +29,7 @@ import { NavigationContainerRef } from '@react-navigation/core'; import { defaultPreferences, PreferenceKeys, + PreferencesType, retrievePreferences, } from './src/utils/asyncStorage'; import PreferencesProvider from './src/components/providers/PreferencesProvider'; @@ -46,6 +47,7 @@ LogBox.ignoreLogs([ type StateType = { isLoading: boolean; + initialPreferences: PreferencesType; }; export default class App extends React.Component<{}, StateType> { @@ -61,6 +63,7 @@ export default class App extends React.Component<{}, StateType> { super(props); this.state = { isLoading: true, + initialPreferences: defaultPreferences, }; initLocales(); this.navigatorRef = React.createRef(); @@ -103,9 +106,11 @@ export default class App extends React.Component<{}, StateType> { /** * Async loading is done, finish processing startup data */ - onLoadFinished = () => { + onLoadFinished = (values: Array) => { + const [preferences] = values; this.setState({ isLoading: false, + initialPreferences: { ...(preferences as PreferencesType) }, }); SplashScreen.hide(); }; @@ -133,7 +138,7 @@ export default class App extends React.Component<{}, StateType> { return null; } return ( - + { return new Promise((resolve: (preferences: PreferencesType) => void) => { - AsyncStorage.multiGet(Object.values(keys)) + AsyncStorage.multiGet(keys) .then((result) => { + console.log(result); + const preferences = { ...defaults }; result.forEach((item) => { let [key, value] = item;