reactjs - React 和 TypeScript,Object 可能是“null”。TS2531
问题描述
在 React with TypeScript 中,我在构建时遇到此错误:
对象可能为“空”。TS2531
但我有这个代码:
if (usersNode && usersNode.getLinkedRecords('edges') != null)
usersNode.getLinkedRecords('edges').forEach((edge: any) => {
const node = edge.getLinkedRecord('node')
nodesMapping[node.getValue('usuarioId')] = node.getDataID()
})
为什么?我明确地说,如果该对象不为空......
解决方案
我想问题是
usersNode.getLinkedRecords('edges')
是一个函数调用。Typescript 无法“知道”它会在您第二次调用它时返回相同的内容。
尝试
const edges = usersNode && usersNode.getLinkedRecords('edges');
if (edges !== null)
edges.forEach((edge: any) => {
const node = edge.getLinkedRecord('node')
nodesMapping[node.getValue('usuarioId')] = node.getDataID()
})
推荐阅读
- html - 如何使 div 以与 Drawer React Material UI 相同的宽度粘在 Drawer 的底部?
- php - 默认情况下,在商店页面上随机显示 WooCommerce 产品
- c++ - 否定一个概念 (C++20)
- python - Django REST Framework Serializer.save() 和 valid_data 中的 keyerror
- angular - 带去抖动的 BehaviorSubject 订阅
- python - 如何在 Google、Bing 或 DuckDuckGo 中搜索 r"""?
- r - 曲线ggplotly R下的区域未按预期呈现
- sql-server - case 在预期条件的上下文中指定的非布尔类型的表达式
- sql - 如何在 2 个不同的字符之间获取值
- python - 如何用另一个数组(可能具有不同的形状)填充 NumPy 数组