【发布时间】:2021-05-05 08:04:11
【问题描述】:
我正在尝试在数组中查找一个对象并返回该特定对象。我是打字稿的新手,所以我尝试用这种方式解决它,但我不确定它为什么不起作用。
已编辑:我的代码甚至没有被编译!我收到以下错误:
/Users/.../api/VaccineDataApi.tsx(64,14) 中的 TypeScript 错误: 对象可能是“未定义的”。 TS2532
import React, { useEffect, useState } from 'react';
import axios from 'axios';
type VaccineDataState = {
Date: Date,
Location: string, //Location is state Abbreviations like 'WA'
LongName: string,
Doses_Distributed: number,
}
const VaccineData = () => {
const [vaccine, SetVaccine] = useState<VaccineDataState[]>([])
const [errorMessage,SetErrorMessage] = useState(null)
useEffect(() => {
axios.get("https://localhost:3000")
.then((response) => {
const apiVaccineData = response.data.vaccination_data;
SetVaccine(apiVaccineData);
})
.catch((error) => {
SetErrorMessage(error.message);
console.log(errorMessage);
})
}, []);
let vaccineData = vaccine.find(state => state.Location === 'WA');
return(
<div>
<p>test</p>
{vaccineData.Location}
</div>
)
};
export default VaccineData;
【问题讨论】:
-
这看起来是对的,
console.log(vaccine);时你会得到什么? -
我不能,因为它甚至没有编译:这是错误消息:“()=>元素”类型上不存在属性“位置”。 TS2339
-
好的,所以问题不是描述你遇到什么样的错误,更新它
-
我现在就做,谢谢@Kalhan.Toress
标签: reactjs typescript object find