2017-07-28 20 views
0

reactjsプロジェクトの成功シナリオで別のページにリダイレクトしようとしています。私はこれを行うには、以下の方法で説明した方法を試したが、成功していませんでしたreactjsの別のページにリダイレクトしない

と私は多くの他の方法私はstackoverflowで見つかりました。どのように私はこれを正常に行うことができます。

私のコード

function handleLoginResponse(response){ 

    switch (response.data.response){ 

     case "200": 
      /** 
      * in sccuess senario 
      * redirect to the home page 
      * set cookies for token and user id create session 
      * */ 

      this.history.pushState(null, 'home'); 


      break; 
     case "201": 
      console.log("201"); 
      break; 
     case "202": 
      console.log("202"); 
      break; 
     case "203": 
      console.log("203"); 
      break; 
     case "204": 
      console.log("204"); 
      break; 
     case "205": 
      console.log("205"); 
      break; 
     case "206": 
      console.log("206"); 
      break; 

    } 

} 

私は私が

ありがとう「200」の応答を取得するときに別のページにリダイレクトするようにしたいです。簡単な方法で

+0

好き敗走コンポーネントルック何ですか? – abdul

+0

使用している反応ルータのバージョンは? –

答えて

0

あなたはリダイレクトが

import { Redirect } from 'react-router' 

例を、その後の状態を作成し、あなたの状態にリダイレクトを接続し使用することができます。

import React, {Component} from 'react' 
import { Redirect } from 'react-router' 

export default class MyRedirect extends Component{ 
    constructor(){ 
    super() 
    this.state = { 
     redirect : false 
    } 
    } 

    handleLoginResponse(){ 
    switch(response){ 
     case '200': 
     this.setState({redirect: true}) 
     break; 
    } 
    } 

    render(){ 
    return(
     {this.state.redirect && <Redirect to="yourpath" />} 
    ) 
    } 
} 
関連する問題