reactjs - 即使返回的类型是对象,也无法访问对象属性-React + Typescript
问题描述
我有一个 React 状态,它是对象数组,我在 setState 方法中向它添加一个对象。对象添加正确。
现在,当我尝试在其他函数中访问对象时,我无法访问对象的属性。我可以在控制台上看到该对象与属性一起存在。我在stackoverflow上检查了其他与异步调用相关的类似问题,但我的不属于这个范围。
我已经创建了这样的对象数组,
interface ResultState{
....
localArray : object[];
}
在构造函数中将其初始化为 null。
并为其添加一个对象,例如,
localArray : this.state.localArray.concat(Items1)
我的控制台输出:
localArray -> [{}]
0:
name: 'abcd'
roll_num: 10
address: [{...}]
0: {Street: 'abcdefgh', aptnum: 1}
现在我想访问对象的地址。我的代码是这样的,
const resultObject = this.state.localArray[0];
return resultObject.address;
但是我得到一个错误属性地址在类型对象上不存在。
当我执行 console.log(typeof(resultObject)) 时,出现了对象。
这可能是什么原因?
解决方案
是的,这是因为数组的类型。改成之后localArray: any[]
,就成功了!
推荐阅读
- netsuite - 通过记录搜索在netsuite中加载客户的默认地址
- android - 无法将 Kotlin-android-extension 与 Kotlin/native 一起使用
- c - GDB 不允许我读取 argv 内存段
- c# - 从列表框中获取多项选择
- ruby - 尝试使用 chromedriver 运行测试的问题
- html - Bootstrap 4 手风琴在角度 4 中导航
- javascript - 根据php ci中的指定值绘制自定义形状和填充颜色
- laravel - 使用 laravel-snappy 生成空白内容 PDF
- postgresql - 从属中的 Postgres 复制 .done 文件
- azure - 如何将托管在云上的 MySQL 数据库连接到 Azure 数据工厂?