gpt4 book ai didi

react-native - 在渲染之前检查状态以响应 native

转载 作者:行者123 更新时间:2023-12-04 04:13:41 25 4
gpt4 key购买 nike

我需要在第一次运行应用程序时获取用户名。然后我想跳过第一屏直接进入第二屏。

我在第一个屏幕中使用 AsyncStorage.getItem("first") 来检查这是否是第一次启动。如果没有,navigate('SecondScreen')

问题是第一个屏幕闪烁半秒后才进入第二个屏幕。有办法解决这个问题吗?

最佳答案

渲染一个加载器并检查 AsyncStorage 直到数据被加载,然后像这样有条件地导航或渲染你的组件:

constructor(){
super()
this.state = {
hasName: null, loaded: false,
}
}

componentDidMount(){
this.fetchName()
}

fetchName(){
AsyncStorage.getItem('first')
.then((e, s)=>{
this.setState({hasName: s ? true : false, loaded: true})
});
}

loading(){
return(<View><Text>Loading...</Text></View>)
}

renderLoaded(){
if (this.state.hasName){
return(...)
} else {
navigate('secondScreen')
return(...)
}
}

render(){
if (this.state.loaded){
return this.renderLoaded()
}
return this.loading()
}

关于react-native - 在渲染之前检查状态以响应 native ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44292467/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com