Blame view

天文台pc/tianwentai-ui/node_modules/react-style-singleton/dist/es2019/hook.js 610 Bytes
bc518174   王天杨   提交两个项目文件
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
  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]);
      };
  };