Перейти к содержимому
Перейти к содержимому
Animated Fluent Emojis
Меню
Русский

Использование с Preact

В Preact эмодзи можно использовать двумя способами: через элемент <fluent-emoji> или через адаптер React и preact/compat.

Элемент

Импортируйте точку входа элемента один раз. Она регистрирует <fluent-emoji>, и таблица стилей не нужна:

import 'animated-fluent-emojis/element'

Пакет дополняет типы JSX из preact атрибутами элемента в kebab-case:

export function Greeting() {
return <fluent-emoji id="1f44b_wavinghand" size={64} play-on-hover />
}

Fallback передаётся дочерним элементом с slot="fallback". Чтобы реагировать на emoji-load, emoji-error или playback-end, вызовите addEventListener у элемента через ref:

import { useEffect, useRef } from 'preact/hooks'
export function Greeting() {
const emoji = useRef<HTMLElementTagNameMap['fluent-emoji']>(null)
useEffect(() => {
const element = emoji.current
const onEnd = () => {
console.log('done')
}
element?.addEventListener('playback-end', onEnd)
return () => element?.removeEventListener('playback-end', onEnd)
}, [])
return (
<fluent-emoji id="1f44b_wavinghand" ref={emoji}>
<span slot="fallback">👋</span>
</fluent-emoji>
)
}

Атрибуты, свойства и события перечислены в руководстве по использованию.

Адаптер React

Настройте в сборщике алиасы react и react-dom на preact/compat, затем используйте адаптер React, как описано в руководстве по использованию.