- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我最近决定将我的代码库从 JS 迁移到 TS 以添加类型检查。我还使用了 styled-components
库。
但是,我遇到了以下问题:
error TS2322: Type '{ children: string; css: string; }' is not assignable to type 'DetailedHTMLProps<HTMLAttributes<HTMLDivElement>, HTMLDivElement>'.
Property 'css' does not exist on type 'DetailedHTMLProps<HTMLAttributes<HTMLDivElement>, HTMLDivElement>'.
这是一个基本的代码示例:
import React from 'react'
const MyComponent: React.FC = (props) => {
return (
<div css={`
padding: 44px;
`}>
My content
</div>
)
}
请注意我的 tsconfig.json
compilerOptions
看起来像这样:
"compilerOptions": {
"composite": true,
"declaration": true,
"outDir": "./dist", // https://www.typescriptlang.org/tsconfig#outFile
"rootDir": "./src",
"jsx":"react",
"types": ["@types/styled-components"],
"module": "commonjs",
"target": "es5",
"sourceMap": true,
"declarationMap": true,
"noEmitOnError": true,
"skipLibCheck": true,
"esModuleInterop": true,
"noUnusedLocals":true,
"noUnusedParameters":true,
"allowJs":true,
"noEmit": false
}
任何人都可以指出正确的方向来解决 css
属性的类型吗?
最佳答案
使用以下代码创建 styledComponentsOverride.d.ts
:
import { CSSProp } from 'styled-components'
interface MyTheme {}
declare module 'react' {
interface Attributes {
css?: CSSProp<MyTheme>
}
}
这将使用可选的 CSS 属性扩展 react 元素属性类型
更多信息:https://github.com/DefinitelyTyped/DefinitelyTyped/issues/31245
关于reactjs - 错误 TS2322 : Property 'css' does not exist on type 'DetailedHTMLProps<HTMLAttributes<HTMLDivElement>, HTMLDivElement>' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70127482/
假设我有一个组件接口(interface),它应该扩展标准 的接口(interface)。元素。写这个有什么区别: interface ComponentProps extends React.De
由于 React 16 现在允许 custom DOM attributes ,我试图在我的 Typescript 代码中利用它: import * as React from 'react';
有人可以帮助解决 TypeScript 错误吗: Property 'srcset' does not exist on type 'DetailedHTMLProps, HTMLImageEleme
我正在使用带有掌侧扩展名的 vue、ts、vite。 在 Vs 代码中,我得到了错误Type '{ class: string; }' is not assignable to type 'Detai
我最近决定将我的代码库从 JS 迁移到 TS 以添加类型检查。我还使用了 styled-components 库。 但是,我遇到了以下问题: error TS2322: Type '{ childre
我最近决定将我的代码库从 JS 迁移到 TS 以添加类型检查。我还使用了 styled-components 库。 但是,我遇到了以下问题: error TS2322: Type '{ childre
在我的 react-typescript-electron 项目中,我有: "devDependencies": { "@types/react": "^17.0.0", "@types/re
我是一名优秀的程序员,十分优秀!