Я пытаюсь заставить мой поток входа работать, используя socket.io и redux-saga.
Нет проблем с подключением к сокету и проверкой пользователя, но когда я пытаюсь отправить действие из события «loginSuccess», ничего не происходит
Сага входа выглядит так:
import { takeLatest, call, put, take } from "redux-saga/effects";
import * as types from "../actions/types";
import connect from "../constants/socketConnection";
function* doLogin(action) {
const socket = yield call(connect);
socket.emit("login", {
username: action.username,
password: action.password
});
socket.on("loginSuccess", (response) => {
yield put({type: types.SET_CURRENT_USER, currentUser: response.user})
});
}
export function* login() {
yield takeLatest(types.LOGIN, doLogin);
}
Разве невозможно отправить действие изнутри socket.on ()?
Синтаксис правильный (он работает в других моих проектах), но код VS говорит, что «put» и «response» никогда не используются, и Prettier не может автоматически форматировать, когда есть put, поэтому он не зарегистрирован. Хотя ошибки не отображаются.