javascript - 类型 [] 打字稿上不存在属性
问题描述
嘿,我正在尝试遍历一个数组并找到一个匹配的值,但是我遇到了一些打字稿问题。当使用 findIndex 函数来描述我的数组中是否存在匹配项时,我收到以下错误。
类型“Main []”上不存在属性“continents”
不完全确定这里发生了什么,我猜我的映射有问题。
接口:
interface Main {
continents: Array<Continents>;
}
interface Continents {
name: string;
url: string;
countries?: Array<Countries>;
}
interface Countries {
name: string;
url: string;
states: string | null;
featuredCities: Array<Cities>;
}
interface Cities {
name: string;
url: string;
}
状态:
const [staticLocationHierarchy, setStaticLocationHierarchy] = useState<Array<Main>>([]);
商业逻辑:
const checkOne = staticLocationHierarchy?.continents.findIndex(
continents => continents.url === test
);
解决方案
我不确切知道您正在寻找的值,但是,您需要从清理一些变量开始,使您的代码干净将有助于 typescript 知道您想要什么。我刚刚删除并重命名了一些变量我希望它会有所帮助
interface Continent {
name: string;
url: string;
country?: Country[];
}
interface Country {
name: string;
url: string;
states: string | null;
featuredCity: City[];
}
interface City {
name: string;
url: string;
}
const [staticLocationHierarchy, setStaticLocationHierarchy] = useState<Continent[]>([]);
const checkOne = staticLocationHierarchy.filter((continent, index) => {
return continent.url = test
})
推荐阅读
- java - 是否可以访问具有私有构造函数的类中的私有变量并从另一个类更改最终变量值
- r - 更新闪亮的多个输入时的挑战
- react-native - jest.spyOn 未调用
- php - 头像wordpress中的安全图像调用不安全图像
- android - 在没有dependsOn的任务中运行评分任务
- javascript - 函数原型
- opencv - OpenCV vs 3rd 方人脸识别 SDK
- automated-tests - 由于从 UFT 中的 UI 自动化继承的 API 调用缺失或损坏而失败
- php - 服务器端缓存与客户端缓存以维护键值映射
- python - 在我自己的笔记本电脑上连接到在树莓派上运行的 MySQL