javascript - 从 API 返回未定义的 JSON 数据映射
问题描述
您好,我正在尝试通过 API 中的数据进行映射,如下所示:
import React, { useEffect, useState } from "react"
import Layout from "../components/layout"
import { getAllActiveJobs } from "../../backend/controllers/apiHandler"
const ForAnsatte = () => {
const [activeJobs, setActiveJobs] = useState([])
const init = () => {
getAllActiveJobs().then((data) => {
setActiveJobs(data)
})
}
useEffect(() => {
init()
return () => {}
}, [])
return (
<Layout>
{activeJobs.data
? activeJobs.data.map((item) => {
return <div key={item.jobId}>{item.candidateId}</div>
})
: "Loading..."}
</Layout>
)
}
export default ForAnsatte
但后来我得到这个错误: TypeError: activeJobs.data.map is not a function
API 返回 JSON 对象,如下所示:
有人可以帮我指出我在这里做错了什么吗?
先感谢您!
解决方案
从 api 返回的数据似乎是一个 JSON 对象,而 map() 仅适用于数组。
我建议使用 Object.keys(activeJobs.data).forEach() 遍历 JSON 对象
推荐阅读
- html - 固定位置 - 宽度错误
- mysql - MySQL InnoDB:长时间的信号等待:
- jquery - WordPress中悬停CSS或jQuery问题的菜单图像
- python - 列表中每个项目的排名偏好
- angular - Angular - 为下拉菜单设置默认值 - 解决方案不起作用?
- python - 自动将 CSV 上传到 Webapp 上传表单
- c# - Linq to SQL 处理可空值
- python - Databricks 中的雪花 Python 连接器错误
- git - Git 按作者姓名提交历史记录并将输出记录到 .txt 文件
- c++ - 将 webm 视频从 URL 流式传输到 C++ windows.h 应用程序