Reactjs 如何使用情绪/使用React和Typescript设置样式
我已将我的根组件包装在Reactjs 如何使用情绪/使用React和Typescript设置样式,reactjs,typescript,emotion,Reactjs,Typescript,Emotion,我已将我的根组件包装在@emotion/react的主题Provider中,这使我能够访问道具。主题: constyleddiv=styled.div` 背景色:${(props)=>props.theme.palete.primary.main}; `; 问题:道具。根据TS-调色板,主题是一个空对象,主题类型上不存在该主题(但是我传递给主题提供程序的对象确实包含该属性)。如果我让TS忽略这一点,代码就会工作 文档涵盖了这一点,这似乎是一个简单的解决方案: 但是,我对文档的理解不够透彻,无
@emotion/react
的主题Provider
中,这使我能够访问道具。主题
:
constyleddiv=styled.div`
背景色:${(props)=>props.theme.palete.primary.main};
`;
问题:道具。根据TS-调色板,主题是一个空对象,主题类型上不存在该主题(但是我传递给主题提供程序的对象确实包含该属性)。如果我让TS忽略这一点,代码就会工作
文档涵盖了这一点,这似乎是一个简单的解决方案:
但是,我对文档的理解不够透彻,无法使主题类型的道具。主题具有正确的属性
非常感谢为我指明正确方向的任何帮助 样式化组件允许您通过泛型通知他们您的道具:
从“/Theme”导入主题;
类型StyledDivProps={
主题:主题
}
const StyledDiv=styled.div`
背景色:${(props)=>props.theme.palete.primary.main};
`;
添加此文件types.d.ts
import "@emotion/react";
import { IPalette } from "../your-palette";
declare module "@emotion/react" {
export interface Theme extends IPalette {}
}
我可能做错了什么,但是使用这种方法,StyledDiv
组件需要我传递theme
prop