2
我已經創建了一個基本的授權流程,使用了redux,redux-saga和不可變的js。redux傳奇和immutablejs
Redux窗體(v6.0.0-rc.4)允許窗體創建一個不可變的地圖。我將這些值傳遞給redux-saga,我試圖將這些值傳遞給我的登錄函數。
問題1:從概念上講,什麼時候可以使用values.get('username')
訪問不可變映射中的數據?在我的傳奇中,在功能?我是否應該等到最後一步提取值?
問題2:假設我能夠在正確的地點,以提取值,我不知道我怎麼看這應該在傳奇中進行處理 - 這是我loginFlow傳奇:
export function* loginFlow(data) {
while (true) {
yield take(LOGIN_REQUEST);
const winner = yield race({
auth: call(authorize, { data, isRegistering: false }),
logout: take(LOGOUT),
});
if (winner.auth) {
yield put({ type: SET_AUTH, newAuthState: true });
forwardTo('/account');
} else if (winner.logout) {
yield put({ type: SET_AUTH, newAuthState: false });
yield call(logout);
forwardTo('/');
}
}
}
與data
是從redux形式不可變的映射。然而,無論何時我在我的傳奇中登錄日誌data
,它只會返回0
。