开发者问题收集

如何修复 ERROR TypeError:无法读取 null 的属性“0”?

2021-04-27
1184

我需要修复这行代码:

我收到错误:

ERROR TypeError: Cannot read property '0' of null

我尝试使用:

但错误消息相同。

没有!我收到错误消息:

Object is possibly 'null'.ts(2531)

2个回答

您需要使用 ? 而不是 ! ,并使用 getgetAll 进行更改:

JSON.parse(data.headers.get('x-pagination')?.split(',')?.[0]);

在使用 ?[..] 访问器时,也请注意 .

编辑: getAll 已被弃用,并且 get 将以逗号分隔的字符串形式返回标题的所有值。

Tobin
2021-04-27

这意味着您正在尝试访问可能为 null 的对象的值 [0] ,在这种情况下可能会导致错误。

正如@Tobin所建议的,您可以轻松添加 可选链接运算符 (又名 ?. )来修复错误,但在这种情况下,您最终可能会尝试解析未定义的值。

添加一个条件,包装与该标题相关的所有内容/逻辑:

const pagHeader = data.headers.getAll('x-pagination')

if (pagHeader) {
  // Your other related logic here
  JSON.parse(pagHeader[0])
  // Your other related logic here
}

这将有助于确保仅在标题存在时触发该逻辑。

ale917k
2021-04-27