需要 return 来自 asyncstorage 的值
need to return value from asyncstorage
你好开发者,我在 React Native 中使用 AsyncStorage
我是这样使用的:
const AppLanguage = createStackNavigator({
ChooseLanguage: {
screen: ChooseLanguage,
},
AppIntroScreen: {
screen: AppIntroScreen,
},
}, {
headerMode: 'none',
cardStyle: {
backgroundColor: "#ffffff",
},
navigationOptions: {
headerVisible: false,
}
});
retrieve = () => AsyncStorage.getItem('first').then(value => {
return value;
});
console.log(retrieve()) //return promise but need to extract value from asyncstorage
AppRegistry.registerComponent(appName, () =>
retrieve() == 'true' ? AppIntroScreen:AppLanguage //problem here value not extracted from asyncstorage
)
我在这里使用检索方法获取键的值='first' 所以如果键等于 'true' 它首先打开 AppIntroScreen 否则它首先打开 ChooseLanguage 屏幕所以请帮忙!
您可以使用 await 来处理异步操作。
var value = await AsyncStorage.getItem('first');
console.log(value);
您的解决方案似乎也有效,请在 then
语句中执行您的代码。
您不能像 AppRegistry 那样使用应用程序,因为它无法识别屏幕或导航。
在 asynccomponent 中创建一个名为 entry 的新屏幕并安装 运行 您的 await retrieve 函数并根据它导航到正确的屏幕。
你好开发者,我在 React Native 中使用 AsyncStorage 我是这样使用的:
const AppLanguage = createStackNavigator({
ChooseLanguage: {
screen: ChooseLanguage,
},
AppIntroScreen: {
screen: AppIntroScreen,
},
}, {
headerMode: 'none',
cardStyle: {
backgroundColor: "#ffffff",
},
navigationOptions: {
headerVisible: false,
}
});
retrieve = () => AsyncStorage.getItem('first').then(value => {
return value;
});
console.log(retrieve()) //return promise but need to extract value from asyncstorage
AppRegistry.registerComponent(appName, () =>
retrieve() == 'true' ? AppIntroScreen:AppLanguage //problem here value not extracted from asyncstorage
)
我在这里使用检索方法获取键的值='first' 所以如果键等于 'true' 它首先打开 AppIntroScreen 否则它首先打开 ChooseLanguage 屏幕所以请帮忙!
您可以使用 await 来处理异步操作。
var value = await AsyncStorage.getItem('first');
console.log(value);
您的解决方案似乎也有效,请在 then
语句中执行您的代码。
您不能像 AppRegistry 那样使用应用程序,因为它无法识别屏幕或导航。 在 asynccomponent 中创建一个名为 entry 的新屏幕并安装 运行 您的 await retrieve 函数并根据它导航到正确的屏幕。