Отправка действия из события socket.io в саге - PullRequest
0 голосов
/ 14 января 2019

Я пытаюсь заставить мой поток входа работать, используя 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, поэтому он не зарегистрирован. Хотя ошибки не отображаются.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...