Skip to main content

React

Widgets written with React use BreezyReact. Its hooks wrap the breezy functions and re-render your component whenever the streamer changes the widget's settings.

WidgetProvider​

Wrap your widget in WidgetProvider so the hooks receive updates.

const { WidgetProvider } = BreezyReact

createRoot(document.getElementById('root')).render(
<WidgetProvider>
<Alert />
</WidgetProvider>
)

Hooks​

useField<T = any>(name: string): T | null
useFields(names: Array<string>): FieldList
useMedia(id: ID | null | undefined): Media | null
useMedias(ids: Array<ID>): Array<Media> | null
usePalette(image: string | null | undefined): Palette | null
useWidget(id?: ID): WidgetController
HookEquivalent
useFieldbreezy.getField
useFieldsbreezy.getFields
useMediabreezy.getMedia, null while loading
useMediasbreezy.getMedias, null while loading
usePalettebreezy.getPalette, null while loading
useWidgetbreezy.getWidget
const { useField, useMedia } = BreezyReact

function Alert() {

let title = useField('title')
let image = useField('image')
let media = useMedia(image?.selection)

return (
<div className="alert">
{media && <img src={media.url} />}
<h1>{title?.text}</h1>
</div>
)
}