@bytebeans/macaw-ui
Version:
Saleor's UI component library
14 lines (10 loc) • 407 B
text/typescript
import { useEffect } from "react";
import { BaseExtensionMessageData, ExtensionMessageEvent } from "./types";
export function useExtensionMessage<T extends BaseExtensionMessageData>(
handle: (message: ExtensionMessageEvent<T>) => void
) {
useEffect(() => {
window.addEventListener("message", handle);
return () => window.removeEventListener("message", handle);
}, [handle]);
}