@ima/react-page-renderer
Version:
IMA.js React page renderer.
31 lines • 1.12 kB
TypeScript
import type { Dispatcher, DispatcherEventsMap, DispatcherListener } from '@ima/core';
export interface useDispatcherType {
fire: Dispatcher['fire'];
}
/**
* Hook to register listeners for dispatcher events. Returns
* decorated dispatcher fire function. Omitting hook params
* doesn't register any events to the dispatcher but provides
* access to the dispatcher's fire method.
*
* @example
* const { fire } = useDispatcher(
* 'dispatcher-event',
* () => {}
* );
*
* // Access $Dispatcher's.fire method without registering listener
* const { fire } = useDispatcher();
*
* // Firing custom event
* useEffect(() => {
* fire('another-event', { data: {} })
* });
*
* @param event Event name.
* @param listener Callback to register to dispatcher.
* @returns Dispatcher `fire` method.
*/
export declare function useDispatcher<E extends keyof DispatcherEventsMap>(event?: E, listener?: DispatcherListener<DispatcherEventsMap[E]>): useDispatcherType;
export declare function useDispatcher(event?: string, listener?: DispatcherListener<any>): useDispatcherType;
//# sourceMappingURL=dispatcher.d.ts.map