@huddle01/react
Version:
The Huddle01 React SDK offers a comprehensive suite of hooks, methods and event listeners that allow for seamless real-time audio and video communication with minimal coding required.
53 lines (51 loc) • 1.41 kB
JavaScript
import {
useHuddle01_default
} from "./chunk-6UAH4WUQ.js";
// src/hooks/useDataMessage.ts
import { useCallback, useEffect } from "react";
var useDataMessage = (props) => {
const { huddleClient } = useHuddle01_default();
const localPeer = huddleClient.localPeer;
const sendData = useCallback(
(data) => {
return localPeer.sendData(data);
},
[]
);
const sendVolatileData = useCallback(
(data) => {
console.info("Sending Volatile Data", data);
return huddleClient.localPeer.sendVolatileData(data);
},
[]
);
const handleNewMessage = useCallback(
(data) => {
if (props?.onMessage)
props.onMessage(data.payload, data.from, data.label);
},
[props?.onMessage]
);
const handleNewVolatileMessage = useCallback(
(data) => {
if (props?.onVolatileMesssage) props.onVolatileMesssage(data);
},
[props?.onVolatileMesssage]
);
useEffect(() => {
localPeer.on("receive-data", handleNewMessage);
huddleClient.room.on("received-volatile-data", handleNewVolatileMessage);
return () => {
localPeer.off("receive-data", handleNewMessage);
huddleClient.room.off("received-volatile-data", handleNewVolatileMessage);
};
}, [props?.onMessage, props?.onVolatileMesssage]);
return {
sendData,
sendVolatileData
};
};
export {
useDataMessage
};
//# sourceMappingURL=chunk-YJ3BT3KI.js.map