2017-07-26 18 views
2

私はReact Nativeで新しく、最初のアプリケーションを作成しようとしています。だから質問があります:フェッチが完了したときに反応ネイティブの別の画面にナビゲートする方法

私は2つの画面を持っています(反応ナビゲーションを使用)。最初の画面には、(ネイティブベースの)スピナー付きアプリロゴのレンダリングと、同時にサーバーへのフェッチがあります。フェッチが終了し、応答が処理された場合にのみ、別の画面に移動する必要があります。私が反応ナビゲーションの文書で見つけたのはボタン付きの解決策でしたが、私の場合ではありません。また、私はActivityIndi​​catorIOSを使用したくありません(アプリはAndroid用に正しいはずです)。

どうすればいいですか?

ありがとうございます!

答えて

4

キャッチでフェッチまたはハンドルのエラーを適切に処理した後、navigate関数をコールするだけです。

react-navigationのすべての画面はnavigationの小道具を取得します。 navigate機能を使用して、任意の画面にナビゲートできます。このようなもの

class FirstScreen extends React.Component { 
    static navigationOptions = { 
    title: 'First', 
    } 
    componentDidMount(){ 
    const {navigate} = this.props.navigation; 
    navigate('Second'); 
    fetch('http://apiserver').then((response) => { 
     navigate('Second'); 
    }); 
    } 
    render() { 
    return (
     <AppLogo /> 
    ); 
    } 
} 

const AppNavigator = StackNavigator({ 
    First: { 
    screen: FirstScreen, 
    }, 
    Second: { 
    screen: SecondScreen, 
    }, 
}); 
+0

ありがとう!今それは明らかになっています! – nastassia

関連する問題