成功登录后,我在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
}