react-mercure
Version:
React hook that make working with Mercure easy
17 lines (16 loc) • 557 B
JavaScript
import { useEffect, useState } from "react";
export function useEventSource(url, eventHandler) {
const [isConnected, setIsConnected] = useState(false);
useEffect(() => {
const eventSource = new EventSource(url);
setIsConnected(true);
eventSource.onmessage = (e) => eventHandler(e.data);
// Clean up function
return () => {
// Close the EventSource connection
eventSource.close();
setIsConnected(false);
};
}, [url, eventHandler]);
return { isConnected };
}