打字稿错误-类型'string []'不能用作索引类型

西蒙

我的Ionic / Angular应用程序出现打字稿错误。下方显示:

类型'string []'不能用作索引类型。

我不明白。整个错误是:

[17:57:57]打字稿:C:/ xampp / htdocs / project x / anonymous-social / src / pages / threads / threads.ts,第58行:'string []'类型不能用作索引类型。

L58:让threadId = Object(snapshot.val()[Object.keys(snapshot.val())])。threadId;

L59:让messageCount = snapshot.val()。unread || 0;

我的代码与此是:

this.database.database.ref('/users/'+this.userData.uid+'/threads/')
.orderByChild('threadId')
.on('child_added', (snapshot) => {
      let threadId = Object(snapshot.val()[Object.keys(snapshot.val())]).threadId;
      let messageCount = snapshot.val().unread || 0;
      rec.push(Object(snapshot.val()[Object.keys(snapshot.val())]));

知道为什么会这样吗?我不完全了解...任何帮助都将是巨大的!

卡西伯

snapshot.val()[Object.keys(snapshot.val())]您尝试索引snapshot.val()使用中Object.keys(snapshot.val())

Object.keys返回type string[]

是否有您不能仅仅使用的原因:

let threadId = snapshot.val().threadId;

我认为不需要所有其他逻辑。

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

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

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

打字稿错误:类型'string'不能用于索引类型X

为什么我在TypeScript中遇到“类型'String'不能用作索引类型”错误

类型'string'不能用于索引类型'unknown || 或如何让打字稿分配Type [key] = SameType [key]

打字稿:从嵌套的全局对象访问值 | 键入“字符串”不能用作索引类型

打字稿错误:“字符串”类型的表达式不能用于索引类型

输入'字符串| string[]' 不能分配给类型 'string' - 打字稿类型错误

错误 TS2538:类型“CCCustomer”不能用作索引类型

响应 yup 错误类型“未定义”不能用作索引类型。TS2538

打字稿部分<>类型错误

类型'null'不能用作索引类型

类型“{}”不能用作索引类型

类型“X”不能用作索引类型

类型不能用作索引类型

类型'undefined'不能用作索引类型

打字稿泛型类型 - 类型“keyof T1”不能用于索引类型

Typescript错误:元素隐式具有“ any”类型,因为类型“ string”的表达式不能用于索引类型

打字稿 - “字符串”类型的表达式不能用于索引类型

类型'string'不能用于索引类型'T'.ts(2536)

类型 'string' 不能用于索引类型 'Partial<T>

反应打字稿错误 - 元素隐式具有任何类型,因为类型字符串的表达式不能用于索引类型 {}

函数返回类型的打字稿错误

打字稿未检测到类型错误

打字稿等待诺言类型转换错误

打字稿编译日期类型错误

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

打字稿:“字符串”不能用于索引复杂对象上的类型

打字稿类型:可用作索引签名的对象值的类型

类型 '() => Promise<AxiosResponse<any>>' 不能用作索引类型 [ReactJs]

类型“未定义”不能用作索引类型