打字稿错误:计算出的属性名称必须为“字符串”,“数字”,“符号”或“任何”类型

这是我当前的代码:

interface sizes {
  [key: string]: Partial<CSSStyleDeclaration>[];
}

export const useStyleBlocks = (
  resolution = 'large',
  blocks = [{}]
): Partial<CSSStyleDeclaration>[] => {
  const starterBlock = [] as Partial<CSSStyleDeclaration>[];
  const handleBlocks = (key: sizes): Partial<CSSStyleDeclaration>[] => {
    for (let i = 0; i < blocks.length; i++) {
      // the error comes from this line exactly on [key]
      // A computed property name must be of type 'string', 'number', 'symbol', or 'any'
      starterBlock.push({ [key]: blocks });
    }

    return starterBlock;
  };

  switch (resolution) {
    case 'small':
      // then here i get another error
      // Argument of type 'string' is not assignable to parameter of type 'sizes'
      handleBlocks('small');
      break;
    default:
      handleBlocks({});
      break;
  }

  return starterBlock;
};

有关错误的解释在上面的代码中加注了^

有任何想法吗?

更新

如果我将功能更改handleBlocks为:

  const handleBlocks = (key: string): Partial<CSSStyleDeclaration>[] => {
    for (let i = 0; i < blocks.length; i++) {
/* HERE I GET A NEW ERROR:
Argument of type '{ [x: string]: {}[]; }' is not assignable to parameter of type 'Partial<CSSStyleDeclaration>'.
  Index signatures are incompatible.
    Type '{}[]' is not assignable to type 'string'.ts(2345) */
      starterBlock.push({ [key]: blocks });
    }

    return starterBlock;
  };

有了这一更改,switch语句上的错误就消失了。

迈克·雷德

这行:

const handleBlocks = (key: sizes): Partial<CSSStyleDeclaration>[] => {

的意思是handleBlocks想要一个类型为实参的参数sizes,该接口是一个对象,但是当您调用时handleBlocks,您正在传入一个字符串(“ small”)。

然后,您抱怨您试图将对象类型用于计算的属性名称,因为key它的类型sizes是,即对象。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

打字稿:命名属性类型必须可分配给字符串索引器类型

来自分类Dev

PyMC错误:hasattr():属性名称必须为字符串

来自分类Dev

错误TS2342:索引表达式参数必须为“字符串”,“数字”或“任何”类型

来自分类Dev

比较字符串并计算出现次数

来自分类Dev

打字稿-指定“键”类型,其中对象[对象的键]必须返回字符串[]

来自分类Dev

打字稿中出现“类型'()=>字符串[]'缺少类型'字符串[]'的以下属性:弹出,推入,连接,联接和另外25个”错误

来自分类Dev

Django 错误:hasattr():属性名称必须是字符串

来自分类Dev

打字稿:将包含字符的字符串解析为数字

来自分类Dev

如果JavaScript字符串以连字符开头,则计算出现次数

来自分类Dev

Javascript:在数组中搜索字符串,然后计算出现次数

来自分类Dev

如何在SwiftUI中动态计算出字符串的宽度

来自分类Dev

SQL:按周拆分字符串并计算出现次数

来自分类Dev

从打字稿中的数组中的字符串派生键以定义对象属性名称

来自分类Dev

属性名称是字符串的预期类型,但得到的apollo-codegen为null错误

来自分类Dev

打字稿添加不需要的字符串类型以键入别名属性

来自分类Dev

打字稿-参数类型为“字符串”的无索引签名

来自分类Dev

JSONException:名称必须为字符串

来自分类Dev

角度打字稿将字符串转换为数字

来自分类Dev

SQL Server查询:连接两个字符串并将其转换为datetime会更改格式,从而计算出的Datedifference错误

来自分类Dev

字符串枚举,如打字稿中的类型

来自分类Dev

从联合类型打字稿生成字符串数组

来自分类Dev

缩小基于打字稿中字符串文字的类型?

来自分类Dev

打字稿:如何从字符串数组定义类型?

来自分类Dev

打字稿错误:TS2345:“ {主题类型:字符串;jsonFile:字符串; 输出:字符串;}; }”不能分配给“选项”类型的参数

来自分类Dev

在打字稿中将字符串解析为 HTML

来自分类Dev

打字稿字符串到枚举转换错误

来自分类Dev

打字稿错误中的字符串枚举

来自分类Dev

打字稿错误 # 70006 类型引用任何

来自分类Dev

错误:JSON解析错误:使用角度转换时,属性名称必须是字符串文字

Related 相关文章

  1. 1

    打字稿:命名属性类型必须可分配给字符串索引器类型

  2. 2

    PyMC错误:hasattr():属性名称必须为字符串

  3. 3

    错误TS2342:索引表达式参数必须为“字符串”,“数字”或“任何”类型

  4. 4

    比较字符串并计算出现次数

  5. 5

    打字稿-指定“键”类型,其中对象[对象的键]必须返回字符串[]

  6. 6

    打字稿中出现“类型'()=>字符串[]'缺少类型'字符串[]'的以下属性:弹出,推入,连接,联接和另外25个”错误

  7. 7

    Django 错误:hasattr():属性名称必须是字符串

  8. 8

    打字稿:将包含字符的字符串解析为数字

  9. 9

    如果JavaScript字符串以连字符开头,则计算出现次数

  10. 10

    Javascript:在数组中搜索字符串,然后计算出现次数

  11. 11

    如何在SwiftUI中动态计算出字符串的宽度

  12. 12

    SQL:按周拆分字符串并计算出现次数

  13. 13

    从打字稿中的数组中的字符串派生键以定义对象属性名称

  14. 14

    属性名称是字符串的预期类型,但得到的apollo-codegen为null错误

  15. 15

    打字稿添加不需要的字符串类型以键入别名属性

  16. 16

    打字稿-参数类型为“字符串”的无索引签名

  17. 17

    JSONException:名称必须为字符串

  18. 18

    角度打字稿将字符串转换为数字

  19. 19

    SQL Server查询:连接两个字符串并将其转换为datetime会更改格式,从而计算出的Datedifference错误

  20. 20

    字符串枚举,如打字稿中的类型

  21. 21

    从联合类型打字稿生成字符串数组

  22. 22

    缩小基于打字稿中字符串文字的类型?

  23. 23

    打字稿:如何从字符串数组定义类型?

  24. 24

    打字稿错误:TS2345:“ {主题类型:字符串;jsonFile:字符串; 输出:字符串;}; }”不能分配给“选项”类型的参数

  25. 25

    在打字稿中将字符串解析为 HTML

  26. 26

    打字稿字符串到枚举转换错误

  27. 27

    打字稿错误中的字符串枚举

  28. 28

    打字稿错误 # 70006 类型引用任何

  29. 29

    错误:JSON解析错误:使用角度转换时,属性名称必须是字符串文字

热门标签

归档