React Native Styled-Components v5.3.0报DefaultTheme不存在backgroundColor如何解决
解决方案
这个报错是因为styled-components默认导出的DefaultTheme类型是空定义,没有匹配你自定义的主题字段,v5.3.0版本可以通过扩展类型声明解决,步骤如下:
步骤1:创建类型声明文件
在项目src目录下新建styled-components.d.ts,写入以下内容:
import 'styled-components'; // 替换为你自己定义Theme接口的文件实际路径 import type { Theme } from './local/theme'; declare module 'styled-components' { export interface DefaultTheme extends Theme {} }
步骤2:确认声明文件被TS识别
打开你的tsconfig.json,检查include配置项已经包含你刚才创建的声明文件,示例配置如下:
{ "compilerOptions": {/* 保持你的原有配置不变 */}, "include": [ "src/**/*", "src/styled-components.d.ts" // 确保声明文件路径被包含在列表内 ] }
步骤3:重新执行类型检查
执行yarn tsc即可看到该报错已经消失,后续所有主题字段也会有正确的类型提示。
补充说明:无需修改你现有业务代码里的主题定义、ThemeProvider、styled组件的写法,声明扩展会自动覆盖默认的
DefaultTheme类型。
内容的提问来源于stack exchange,提问作者user12494839
相关产品推荐
相关产品推荐

