【发布时间】:2021-09-16 07:19:51
【问题描述】:
为什么这段代码给我:TypeError: items.map is not a function?
const [items, setItems] = useState([])
const url = 'https://rickandmortyapi.com/api/character/1'
useEffect(() => {
async function fetchEmployees() {
const response = await fetch(url)
const fetchedEmployees = await response.json(response)
setItems(fetchedEmployees)
}
fetchEmployees()
}, [])
return (
<div>
{items.map((element) => (
<li>{element.name}</li>
))}
</div>
)
}
【问题讨论】:
-
什么是
fetchedEmployees?另外,您为什么将response传递给response.json? -
确保
await response.json(response)为您提供了一个数组,因为.map只能用于数组。 -
我复制了“如何从 api 获取”,因为我认为我的代码可能无效并且我没有更改函数的名称
-
你需要检查 response.status 或 response.ok 或 response.statusText
标签: reactjs react-hooks fetch fetch-api use-effect