После прочтения некоторых руководств я решил написать поток входа в систему, используя поддельный api, который возвращает токен, и этот токен будет сохранен, поэтому я использую reqres.in/api/login {"email": "eve. holt@reqres.in", "пароль": "cityslicka"} и токен это {"токен": "QpwL5tke4Pnpja7X4"} Я просто хочу знать, где я делаю неправильные парни? моя страница входа настроена четко LOGIN_REQUEST работает, но не продолжает :( из authApi возвращает «токен»: «QpwL5tke4Pnpja7X4»
saga.js
export async function authApi(email, password) {
debugger;
try {
const response = await fetch("https://reqres.in/api/login", {
method: "POST",
headers: {
"Content-Type": "application/json",
},
body: JSON.stringify({ email, password }),
});
const json = await response.json();
console.log("json :", json);
return json;
} catch (error) {
throw error;
}
}
export function* authorize(email, password) {
try {
const token = yield call(authApi, email, password);
yield put({ type: "LOGIN_SUCCESS" });
yield put({ type: "SAVE_TOKEN", token });
} catch (error) {
yield put({ type: "LOGIN_ERROR", error });
} finally {
if (yield cancelled()) {
yield put({ type: "LOGIN_CANCELLED" });
}
}
}
export function* loginFlow() {
debugger;
while (true) {
const { email, password } = yield take("LOGIN_REQUEST");
const task = yield fork(authorize, email, password);
const action = yield take(["LOGOUT", "LOGIN_ERROR"]);
if (action.type === "LOGOUT") {
yield cancel(task);
yield put({ type: "DELETE_TOKEN" });
}
}
}
export default function* loginSagas() {
debugger;
yield takeLatest(LOGIN_REQUEST, loginFlow);
}