初めてアプリケーションを実行するときにユーザーの名前を取得する必要があります。その後、最初の画面をスキップして、2番目の画面に直接移動します。反応ネイティブのレンダリング前の状態を確認してください
最初の画面でAsyncStorage.getItem("first")
を使用して、これが最初の起動かどうかを確認しています。そうでなければ、navigate('SecondScreen')
。
問題は、2番目の画面に行く前に、最初の画面が0.5秒間点滅することです。これを修正する方法はありますか? 「
レンダリング...
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()
}