Files
Webklar.com/node_modules/react-style-singleton/dist/es2019/hook.js
Basilosaurusrex f027651f9b main repo
2025-11-24 18:09:40 +01:00

23 lines
610 B
JavaScript

import * as React from 'react';
import { stylesheetSingleton } from './singleton';
/**
* creates a hook to control style singleton
* @see {@link styleSingleton} for a safer component version
* @example
* ```tsx
* const useStyle = styleHookSingleton();
* ///
* useStyle('body { overflow: hidden}');
*/
export const styleHookSingleton = () => {
const sheet = stylesheetSingleton();
return (styles, isDynamic) => {
React.useEffect(() => {
sheet.add(styles);
return () => {
sheet.remove();
};
}, [styles && isDynamic]);
};
};