React hook to detect if web fonts are available 🪝
npm install use-font-face-observer
> Font Face Observer is a small
> @font-face loader and monitor compatible with any webfont service. It will
> monitor when a webfont is loaded and notify you. It does not limit you in any
> way in the where, when, or how you load your webfonts. Unlike the
> Web Font Loader Font Face Observer
> uses scroll events to detect font loads efficiently and with minimum overhead.
``sh`
yarn add use-font-face-observer
1. Detect when a single font face is loaded (condensed, italic, and bold
Roboto):
`jsRoboto
const isFontListLoaded = useFontFaceObserver([
{
family: ,italic
style: ,bold
weight: ,condensed
stretch: ,`
},
]);
2. Detect when multiple font faces are loaded:
`jsRoboto
const isFontListLoaded = useFontFaceObserver([
{ family: },Inter
{ family: },`
]);
3. Extra options:
- Custom test string (When your font doesn't contain at least the Latin "BESbwy" characters you must
pass a test string).
- Custom timeout (defaults to 3000ms)
- Show console errors (defaults to false)
`jsRoboto
const isFontListLoaded = useFontFaceObserver(
[{ family: }],ФЯЦ
{
testString: ,``
timeout: 5000,
},
{
showErrors: true,
},
)