silphius/app/hooks/use-packet.js

16 lines
404 B
JavaScript
Raw Normal View History

2024-06-10 22:42:30 -05:00
import {useContext, useEffect} from 'react';
import ClientContext from '@/context/client.js';
export default function usePacket(type, fn, dependencies) {
const client = useContext(ClientContext);
useEffect(() => {
2024-06-13 12:24:32 -05:00
if (!client) {
return;
}
2024-06-13 01:26:01 -05:00
client.addPacketListener(type, fn);
2024-06-10 22:42:30 -05:00
return () => {
2024-06-13 01:26:01 -05:00
client.removePacketListener(type, fn);
2024-06-10 22:42:30 -05:00
};
2024-06-13 12:24:32 -05:00
}, [client, ...dependencies]);
2024-06-10 22:42:30 -05:00
}