mirror of
https://github.com/overleaf/overleaf.git
synced 2024-11-21 20:47:08 -05:00
17 lines
473 B
TypeScript
17 lines
473 B
TypeScript
|
import { useEffect } from 'react'
|
||
|
import { useUserChannel } from './use-user-channel'
|
||
|
|
||
|
export const useReceiveUser = (
|
||
|
handleData: (data: Record<string, any>) => void
|
||
|
) => {
|
||
|
const channel = useUserChannel()
|
||
|
|
||
|
useEffect(() => {
|
||
|
const abortController = new AbortController()
|
||
|
channel?.addEventListener('message', ({ data }) => handleData(data), {
|
||
|
signal: abortController.signal,
|
||
|
})
|
||
|
return () => abortController.abort()
|
||
|
}, [channel, handleData])
|
||
|
}
|