当前位置: 首页 > 面试题库 >

类型'string'不能分配给类型'inherit'| “初始” | “未设置” | “固定” | “绝对” | “静态” | “相对” | “黏”'

桂智志
2023-03-14
问题内容

我在应用程序中遇到以下错误(npm 5.4.2,react 15.4,打字稿2.5.3,webpack 2.2.1,webpack-dev-server
2.4.1)。

这将起作用:

<div style={{position: 'absolute'}}>working</div>

这将无法编译:

const mystyle = {
    position: 'absolute'            
}

<div style={mystyle}>not working</div>

编译错误是:

ERROR in ./src/components/Resource.tsx
(61,18): error TS2322: Type '{ style: { position: string; }; children: string; }' is not assignable to type 'DetailedHTMLProps<HTMLAttributes<HTMLDivElement>, HTMLDivElement>'.
  Type '{ style: { position: string; }; children: string; }' is not assignable to type 'HTMLAttributes<HTMLDivElement>'.
    Types of property 'style' are incompatible.
      Type '{ position: string; }' is not assignable to type 'CSSProperties'.
        Types of property 'position' are incompatible.
          Type 'string' is not assignable to type '"inherit" | "initial" | "unset" | "fixed" | "absolute" | "static" | "relative" | "sticky"'.
webpack: Failed to compile.

但是有什么区别呢?我可以用以下方法解决它:

const mystyle = {
    position: 'absolute' as 'absolute'            
}

但这是一个好的解决方案吗?

其他样式/ css属性没有此问题。

我在github上发现了类似的问题:https
:
//github.com/Microsoft/TypeScript/issues/11465,
但是如果正确理解,那是早期版本中的打字稿错误。

任何帮助表示赞赏。


问题答案:

这是一种解决方法,但是可以。其他解决方案是:

const mystyles = {
   position: 'absolute',
} as React.CSSProperties;

您可以返回查看何时解决此问题。我猜大概在TS
2.6左右。



 类似资料:
  • 这是我的水果 现在我正在导入另一个typescript文件中的fruit.ts。这是我的 当我做的时候 我得到一个错误: 类型“string”不能分配给类型“orange”“apple”“banana”“ 如何将字符串赋给自定义类型fruit的变量?

  • 问题内容: 在上面的代码示例中,我尝试通过使用参数表单击按钮来调用方法( fetchData )。 错误是 类型’void’不能分配给类型’((event:MouseEvent)= > void)| 未定义”。 问题答案: 在您的代码中,您正在 调用 该函数。函数返回。不能期望哪个功能。 创建一个调用fetchData的新函数,例如。 更多 这是TypeScript防止的非常常见的错误

  • 我试图用flutter插件HTTP发出HTTP POST请求,但我得到了一个标题错误。有人知道这是什么原因吗?因为在我的其他应用程序中,这工作得非常好?

  • 我是angular的新手,我在学习这个hero教程时,偶然发现了这个错误: 我在这里复制了错误。

  • 这是一个类中的函数,允许你双击和单击手势。它在Swift 2.3中运行良好,但在转换到Swift 3后,它抛出了一些错误。我怎么也想不明白。我评论了它们发生的地方。

  • 我是打字新手。我正在使用Express、Node和Typescript进行备份。我有一个具有类型的对象: 我正在创建一个新的水果实例,从JSON文件中重新创建水果类型并填充它 这会产生一个错误。我知道我得到这个错误是因为我分配了一个未知字符串而不是Enum值。我假设解决方案是在将水果类型指定给FruitType对象之前,以某种方式检查水果类型是否为其中一个值。如何修复此错误?