@ima/react-page-renderer
Version:
IMA.js React page renderer.
38 lines • 1.19 kB
TypeScript
import type { Dictionary, Router, EventBus, Utils } from '@ima/core';
import type { defaultCssClasses } from '../componentHelpers';
export interface useComponentType {
utils: Utils;
cssClasses: typeof defaultCssClasses;
localize: Dictionary['get'];
link: Router['link'];
fire: EventBus['fire'];
listen: EventBus['listen'];
unlisten: EventBus['unlisten'];
}
/**
* "Constructor" like hook, which makes sure, that provided callback
* is called only once during component's lifecycle.
*
* @example
* useOnce(() => {
* oneTimeAction();
* });
*
* @param {Function} callback
*/
export declare function useOnce(callback: () => void): void;
/**
* Base hook you can use to initialize your component.
*
* Returns object, which gives you access to the same features you would
* get in your class component:
* - Utility methods: cssClasses, localize, link, fire, listen, unlisten.
* - Objects: utils (=== ComponentUtils).
*
* @example
* const { utils, cssClasses } = useComponent();
*
* @returns Object containing context data and utility methods.
*/
export declare function useComponent(): useComponentType;
//# sourceMappingURL=component.d.ts.map