2017-02-24 1 views
0

スラックに似たマルチステップログインを実装したいと考えています(最初にドメイン名、メールアドレス、後でパスワードを要求します)ネイティブ。複数のステップログインを実装する方法

私はそれを行うためのベストプラクティスを知りたいのですが?

ReactNavigation https://github.com/react-community/react-navigationのようなルーター/ナビゲーションソリューションを使用する必要がありますか?

+0

希望のフィールドを表示する責任がある州を連鎖させてみませんか?ユーザーが「次へ」を押すたびに、状態はさらに移動します。この方法では、ユーザーが不正行為をする可能性のあるルートには依存しません。 – MVCDS

答えて

0

それはそれを行う方法の1つです。私はそれを行うような方法は、単一のコンポーネントです:

class LoginComponent extends React.Component { 
    constructor(props) { 
     super(props); 

     this.state = { stage: 0 }; 
    } 

    onDomainSubmit(data) { 
     this.props.getDomain(data.domain).then((domain) => { 
      this.setState({ domain, stage: 1 }); 
     }); 
    } 

    render() { 
     const { stage, domain } = this.state; 

     if (stage === 0) { 
      return <GetDomainForm onSubmit={ this.onDomainSubmit }... />; 
     } else if (stage === 1) { 
      return <LoginToDomainForm domain={ domain }... />; 
     } 
    } 
} 

getDomainreact-reduxさんconnectを経由してコンポーネントに注入されたアクションの作成者である - それは必要はありませんが。

このように頭痛が少なく、必要なものはすべて1つのコンポーネントに含まれています。

+0

これは、各段階でifの値を変更する必要があるという問題があります。 – MVCDS

+0

@MVCDSあなたが何を意味するのかわからない... –

+0

私はそれを答えていると私は答えていると思うが、あなたは開発者をif/elseにロックしているので、それは効果がないと思う[それは良い考えではない] //cirillocompany.de/pages/anti-if-campaign) – MVCDS

関連する問題