Open kevinffk opened 1 year ago
1、同时定义ThemeProvider的customToken,内容为a="ThemeProvider.custom"。 2、组件内部定义通过createInstance定义了customToken,内容为a="createInstance.custom" 3、组件在使用时 3.1 如果外部没有包ThemeProvider的话,在组件中createStyles里面获取到的a内容为a="createInstance.custom"。 3.2 如果外部有包ThemeProvider的话,在组件中createStyles里面获取到的a内容为a="ThemeProvider.custom"。 3.3 如果外部有包ThemeProvider的话,但ThemeProvider没有传递a="ThemeProvider.custom",则在组件中createStyles里面获取到的a内容为undefined,请问ThemeProvider的customToken和组件内容的createInstance里面的customToken可以融合吗?这样看起来是互斥的。
export default () => { return ( <> <ThemeProvider customToken={{ 'a': 'ThemeProvider.custom' }}> <ASDiv/> </ThemeProvider> <hr /> </> ); };
interface LogoListToken { } const { createStyles } = createInstance<LogoListToken>({ customToken: { 'a': 'createInstance.custom', }, }); const useStyles = createStyles(({css, cx, token}) => { console.log('a', token['a']); return { container: css` height: 300px; ` } }
外部有ThemeProvider时
外部没有ThemeProvider时
外部有ThemeProvider时,但缺少customToken
看起来和这个问题有点像,https://github.com/ant-design/antd-style/issues/25, 被全量覆盖了,我本地的antd-style版本是3.2.1 @arvinxx
奇怪,之前没修复成功?我看看哈
🧐 问题描述
1、同时定义ThemeProvider的customToken,内容为a="ThemeProvider.custom"。 2、组件内部定义通过createInstance定义了customToken,内容为a="createInstance.custom" 3、组件在使用时 3.1 如果外部没有包ThemeProvider的话,在组件中createStyles里面获取到的a内容为a="createInstance.custom"。 3.2 如果外部有包ThemeProvider的话,在组件中createStyles里面获取到的a内容为a="ThemeProvider.custom"。 3.3 如果外部有包ThemeProvider的话,但ThemeProvider没有传递a="ThemeProvider.custom",则在组件中createStyles里面获取到的a内容为undefined,请问ThemeProvider的customToken和组件内容的createInstance里面的customToken可以融合吗?这样看起来是互斥的。
💻 示例代码
🚑 其他信息
外部有ThemeProvider时
外部没有ThemeProvider时
外部有ThemeProvider时,但缺少customToken