簡體   English   中英

類型 [] 打字稿上不存在屬性

[英]property does not exist on type [] typescript

嘿,我正在嘗試遍歷一個數組並找到一個值的匹配項,但是我遇到了一些打字稿問題。 當使用 findIndex 函數描述數組中是否存在匹配項時,我收到以下錯誤。

“Main[]”類型上不存在屬性“大洲”

不確定這里發生了什么,我猜我的映射有問題。

接口:

 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
);

我不確切知道您正在尋找的值,但是您需要先清理一些變量,使代碼干凈將有助於打字稿知道您想要什么。 我剛剛刪除並重命名了一些變量我希望它會有所幫助

 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
    })

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM