Redux传奇并未重定向/路由登出

时间:2019-05-22 06:51:05

标签: reactjs react-redux router redux-saga react-router-redux

成功登录后,我在app.js中有一个注销按钮,单击该按钮后必须重定向到登录页面。我在index.js中没有任何登出路线,我们需要吗?

我已经佐贺写了唯一能正常工作的书,唯一的问题是它没有从佐贺路由到/ signIn。这是正确的做法。 它永远不会通过以下任何路由进行重定向,

app.js

logoutAction = () => {

  this.props.doLogoutAction();

  this.props.history.push('/sign') //I'venow implemented this and not routing via saga.-------------1>Please read updated
}
<button onClick = {this.handleLogot.bind(this)}> </button>

reducer.js

const initialState = {
  username: "",
  isLoggedIn: false
};

case LOGIN_SUCCESS:
  return { ...state,
    isLoggedIn: true,
    payload: action.payload.isLoggedIn
  };
case LOGIN_FAILED:

  return { ...state,
    isLoggedIn: false,
    payload: ''
  };
case LOGOUT_SUCCESS:

  return { ...state,
    isLoggedIn: false,
    payload: ''
  };
default:
  return state;

saga.js

** //这里,我将注销成功操作发送给**

yield put({
  type: LOGOUT_SUCCESS,
  payload: false
})


// history.push('/signIn')
//yield put(push('/signIn'))
//yield call(push,'/signIn')
this.props.history.push('/signIn')

只有两行是传奇故事

我已经尝试了所有这些方法,但是那没有用。谁能让我知道我要去哪里错了。 还有其他可以实施的解决方案吗?有没有人研究过您项目中的注销/登录功能?

Update-1

在我将历史记录推送注销后可以正常工作时,我已经从传奇中删除了它,但是由于reducer重定向到了app.js。像在reducer中一样,isLoggedIn不会在调度操作登录成功ID的位置更新。看来我做错了。请让我知道我该怎么做。

Update-2 现在reducer正在注销,我可以注销。但是现在有一个问题,我无法登录,因为只有操作Login请求,然后才调用成功登录传奇

LoginAction.js

      return{
                    type:LOGIN_ACTION,
                    payload:params

                }

0 个答案:

没有答案