22 lines
730 B
JavaScript
22 lines
730 B
JavaScript
import { useCollector } from './useCollector.js';
|
|
import { useIsomorphicLayoutEffect } from './useIsomorphicLayoutEffect.js';
|
|
export function useMonitorOutput(monitor, collect, onCollect) {
|
|
const [collected, updateCollected] = useCollector(monitor, collect, onCollect);
|
|
useIsomorphicLayoutEffect(function subscribeToMonitorStateChange() {
|
|
const handlerId = monitor.getHandlerId();
|
|
if (handlerId == null) {
|
|
return;
|
|
}
|
|
return monitor.subscribeToStateChange(updateCollected, {
|
|
handlerIds: [
|
|
handlerId
|
|
]
|
|
});
|
|
}, [
|
|
monitor,
|
|
updateCollected
|
|
]);
|
|
return collected;
|
|
}
|
|
|
|
//# sourceMappingURL=useMonitorOutput.js.map
|