我认为您应该向登录生成器添加重定向和警报。这样,所有逻辑都在传奇中,并且仍然易于测试。所以基本上您的登录传奇看起来像这样:
function* login(action) { try { const state = yield select(); const token = state.authReducer.token; const response = yield call(API.login,action.params,token); yield put({type: ACTION_TYPES.LOGIN_SUCCESS, payload:response.data}); yield call(setItem,AUTH_STORAGE_KEY,response.data.api_token); yield call(redirectToHomePage); // add this... } catch (error) { yield put({type: ACTION_TYPES.LOGIN_FAILURE, error}); yield call(alertError); // and this }}


