👺 Fixed usage of context with sockets

This commit is contained in:
2021-09-24 15:08:54 -07:00
parent 7615e1fe52
commit ca082b8220
7 changed files with 82 additions and 81 deletions

View File

@@ -1,34 +1,28 @@
import React, { createContext } from "react";
import React, { createContext, ReactElement } from "react";
import io, { Socket } from "socket.io-client";
import { SOCKET_BASE_URI } from "../../constants/endpoints";
import { useDispatch } from "react-redux";
import { RMQ_SOCKET_CONNECTED } from "../../constants/action-types";
import { isNil } from "lodash";
const WebSocketContext = createContext(null);
export const WebSocketProvider = ({ children }) => {
let socket: Socket;
let ws;
export const WebSocketProvider = ({ children }): ReactElement => {
const dispatch = useDispatch();
const socket: Socket = io(SOCKET_BASE_URI);
if (!isNil(socket)) {
socket = io(SOCKET_BASE_URI);
socket.on("connect", () => {
dispatch({
type: RMQ_SOCKET_CONNECTED,
isSocketConnected: true,
socketId: socket.id,
});
});
socket.on("disconnect", () => {
console.log(`disconnect`);
socket.on("connect", () => {
dispatch({
type: RMQ_SOCKET_CONNECTED,
isSocketConnected: true,
socketId: socket.id,
});
});
socket.on("disconnect", () => {
console.log(`disconnect`);
});
ws = {
socket: socket,
};
}
const ws: any = {
socket,
};
return (
<WebSocketContext.Provider value={ws}>{children}</WebSocketContext.Provider>