Я создал базовый поток авторизации с использованием сокращений, редукс-саги и неизменяемых js.Redux saga and immutablejs
Форма Редукса (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
является непреложной картой из редукционной формы. Однако всякий раз, когда я устанавливаю log data
в свои саги, он только когда-либо возвращает 0
.