2016-08-08 4 views
0

(反応-ルータなし)条件が真の場合、私はここで、このリンクに接続されているボタンがある 私のコードは、このif else conditionと反応して、あるコンポーネントを別のコンポーネントにリンクします。私は反応する新しいです

 checkCred(){ 


    for(var i=0; i < details_array.length; i++){ 
     var currentObject = details_array[i]; 
     if (this.email.value === currentObject.username){ 
      console.log('yes done it'); 
      // link to another component named as Index. if the above statement is true then only 
      // 
      } 
     else{ 
     //Sorry your credentials were wrong 
      } 


     } 
    } 

のようなものであると別のページにリンクしようとしています。

 <span onClick={this.checkCred.bind(this)} className="button1" bsStyle="primary" bsSize="large" > BLOCK </span> 

私は反応ルータを使用しているとき、私は他のページに接続する方法を知らない。条件を確認せずに直接別のページに行きます。

+1

あなたのルート設定(あなたのルートコンテナなどがあれば)を投稿できますか?コンソールに「はい」と表示されますか?あなたが気づいていない場合の注意:クロムを使用する場合は、ページがリダイレクトされている可能性があるにもかかわらず、ログを保持するために、Chormeコンソールのログ保存チェックボックスを選択できます – Vivian

答えて

0

したがって、問題は{withRouter}で解決できます コードは次のようになります。

  for(var i=0; i < details_array.length; i++){ 
     var currentObject = details_array[i]; 
     if (this.email.value == currentObject.username && this.password.value == currentObject.password){ 
      console.log('yes done it'); 

      this.props.router.push('Index'); 

     } 

私はこれが皆に役立つことを願っています!

ありがとうございました

関連する問題