useEvent
Dispatch events from the webcomponent without referencing the context(this)
Syntax
const dispatchEvent = useEvent(myEvent, eventInit);
Where:
dispatchEvent: callback, dispatches the event from the webcomponent and allows defining the detail by receiving a first parameter
myEvent: string, name of the event to dispatch.
eventInit: optional object, event configuration.
Examples
import { useEvent } from "atomico";
function component() {
const dispatchEvent = useEvent("clickButton", {
bubbles: true,
composed: true,
});
return (
<host>
<button onclick={() => dispatchEvent()}>button</button>
</host>
);
}
Event customization
The second parameter of useEvent
allows customizing the behavior of the even:
interface EventInit {
// Allows the event to be dispatched upstream to the node's containers.
bubbles?: boolean;
// Allows the event to traverse the shadowDOM event capture.
composed?: boolean;
// Allows the event to be canceled.
cancelable?: boolean;
// Allows customizing the event builder, ideal for event instance-based communication.
base?: Event | CustomEvent;
}
Recommended articles
How to declare events for your component at the type level for TSX?Last updated
Was this helpful?