Add back optionality to session socket to prevent multiple connections

This commit is contained in:
Mitchell McCaffrey
2021-10-28 11:36:26 +11:00
parent 18725f7c72
commit 019ddcbb8c
6 changed files with 31 additions and 32 deletions

View File

@@ -74,10 +74,10 @@ function useNetworkedState<S extends { readonly [x: string]: any } | null>(
return;
}
const update = { id: debouncedState[partialUpdatesKey], changes };
session.socket.emit(`${eventName}_update`, update);
session.socket?.emit(`${eventName}_update`, update);
}
} else {
session.socket.emit(eventName, debouncedState);
session.socket?.emit(eventName, debouncedState);
}
dirtyRef.current = false;
forceUpdateRef.current = false;
@@ -112,11 +112,11 @@ function useNetworkedState<S extends { readonly [x: string]: any } | null>(
});
}
session.socket.on(eventName, handleSocketEvent);
session.socket.on(`${eventName}_update`, handleSocketUpdateEvent);
session.socket?.on(eventName, handleSocketEvent);
session.socket?.on(`${eventName}_update`, handleSocketUpdateEvent);
return () => {
session.socket.off(eventName, handleSocketEvent);
session.socket.off(`${eventName}_update`, handleSocketUpdateEvent);
session.socket?.off(eventName, handleSocketEvent);
session.socket?.off(`${eventName}_update`, handleSocketUpdateEvent);
};
}, [session.socket, eventName, partialUpdatesKey]);