diff --git a/src/factories/createStyleProvider/index.tsx b/src/factories/createStyleProvider/index.tsx index c13df2d7..42c3ff55 100644 --- a/src/factories/createStyleProvider/index.tsx +++ b/src/factories/createStyleProvider/index.tsx @@ -7,9 +7,11 @@ import { StylisPlugin } from '@emotion/cache'; import { Context, FC, memo, ReactNode, useEffect, useMemo } from 'react'; export interface StyleProviderProps - extends Pick< - StyleContextProps, - 'container' | 'autoClear' | 'cache' | 'hashPriority' | 'ssrInline' | 'transformers' + extends Partial< + Pick< + StyleContextProps, + 'container' | 'autoClear' | 'cache' | 'hashPriority' | 'ssrInline' | 'transformers' + > > { prefix?: string; @@ -69,11 +71,14 @@ export const createStyleProvider = ( getStyleManager?.(emotion); }, [emotion]); - return ( - // @ts-ignore - - {children} - - ); + const content = {children}; + + if (antdStyleProviderProps.cache) { + return ( + // @ts-ignore + {content} + ); + } + return content; }, ); diff --git a/src/factories/createThemeProvider/index.tsx b/src/factories/createThemeProvider/index.tsx index f723e472..298b3a7f 100644 --- a/src/factories/createThemeProvider/index.tsx +++ b/src/factories/createThemeProvider/index.tsx @@ -10,13 +10,29 @@ import TokenContainer from './TokenContainer'; import { ThemeProviderProps } from './type'; export * from './type'; - +/** + * @title CreateThemeProviderOptions + * @category Interfaces + * @description 用于创建主题提供者的选项接口 + */ interface CreateThemeProviderOptions { + /** + * @title styledConfig + * @description 配置 styled-components 的选项 + * @default undefined + */ styledConfig?: StyledConfig; + /** + * @title StyleEngineContext + * @description StyleEngine 上下文 + */ StyleEngineContext: Context; + /** + * @title useTheme + * @description 获取当前主题的钩子函数 + */ useTheme: UseTheme; } - export const createThemeProvider = ( option: CreateThemeProviderOptions, ): ((props: ThemeProviderProps) => ReactElement | null) => {