9

React Native と Redux を使用してモバイル アプリを開発していますが、ソフトウェア設計の問題に直面しています。ログインのために REST API (非同期操作) を呼び出し、その操作が成功した場合はメイン ビューに移動したいと考えています。私はreduxとthunkを使用しているので、すでに非同期アクションが実装されているので、主な疑問は次のとおりです。メインビューに移動するロジックをどこに配置すればよいですか?

アクションからナビゲーター オブジェクトに直接アクセスして、そこでナビゲーションを実行できますか? ログインコンポーネントでそれを行う必要がありますか? (私はすでにやっているので、以下のコードを確認してください)。

componentWillReceiveProps(nextProps){
    if(nextProps.errorLoginMsg){
        Alert.alert("Login Failed", nextProps.errorLoginMsg);
    }
    else if(!nextProps.user.isNull()){
      this.props.navigator.replace({name: 'main'});
    }
  }

コンポーネントにそのロジックがあるとは確信が持てません。良い習慣ではないようです。これを行う他の方法はありますか?

ありがとう

4

2 に答える 2