@Keppp

Где правильно прописать connect если это возможно?

Мне нужно чтобы когда приходил ответ в сервера вызывался экшн setUsersData. Где нужно прописать connect( null, mapDispatchToProps) что он был доступен в onmessage?

import { connect } from 'react-redux';
import { bindActionCreators } from 'redux';

import { usersActions } from 'reducers';

const mapDispatchToProps = dispatch =>
	bindActionCreators(
		{
			setUsersData: usersActions.setUsersData
		},
		dispatch
	);

export default ((wsUrl) => {
	let ws;

	ws = new WebSocket(wsUrl);

	ws.onopen = () => {
		console.log('WS open');
	};

	ws.onmessage = (message) => {
		console.log(message.data);
		// setUsersData(message.data);
	};

	const emit = (message) => {
		if (ws.readyState !== ws.CONNECTING) {
			ws.send(message);
		}
	};

	return { emit };
})('ws://localhost:3000');
  • Вопрос задан
  • 48 просмотров
Решения вопроса 1
@abberati
frontend-разработчик
Нигде

Для сайд-эффектов (ваш случай это как раз сайд-эффект) должны использоваться middlewares — погуглите redux-saga, эта библиотека вам подойдёт.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
iBolit.pro Москва
от 170 000 до 250 000 руб.
ManyChat Москва
от 180 000 руб.
SoftPro Москва
от 300 000 руб.
22 нояб. 2019, в 21:10
10000 руб./за проект
22 нояб. 2019, в 21:09
100 руб./за проект
22 нояб. 2019, в 21:06
2000 руб./за проект