json - React 显示 json 键和值
问题描述
我正在尝试读取 JSON 数据:并且我收到此错误元素隐式具有“任何”类型,因为“字符串”类型的表达式不能用于索引类型我的数据是本地 josn 文件,我正在导入它们:
{
"user": {
"name": "foo",
"location": "India",
},
"product": {
"name": "Iphone",
"version": "12",
}
}
我是这样显示的
const data =data;
<div>
{Object.keys(data.user).map((key,i) => (
<p key={i}>
<span>{key}</span>
<span>{data.user[key]}</span>
</p>))}
</div>
除了这条线之外,一切都在工作:
<span>{data.user[key]}</span>
它给出了错误:
Element implicitly has an 'any' type because expression of type 'string' can't be used to the index type
No index signature with a parameter of type 'string' was found on type
解决方案
您可以将键转换为对象中的键,如下所示:
{(Object.keys(data.user) as (keyof typeof data.user)[]).map((key, i) => (
<p key={i}>
<span>{key}</span>
<span>{data.user[key]}</span>
</p>
))}
推荐阅读
- azure - Azure 迁移端口要求
- swift - 更改 Anchor 的 Y 位置以使其接地
- c - 为什么存储整数有 8 个字节的偏移量?
- python - 当我对日期进行排序时,一些排序的数据使用熊猫随机错误。可能是什么原因?
- zoho - 在 Zoho CRM 中为多选字段选择一个值
- javascript - 使用节点 js 使用 MSSQ 进行查询
- arrays - 即使 char 数组大小有限,字符串格式说明符也会输出整个字符串
- c - 函数定义中大括号之前的函数调用是什么?
- javascript - 覆盖 google 应用程序脚本 32768 个字符限制异常:参数太大:sql
- c++ - 我们如何提取启动 UWP 应用程序的信息?