簡體   English   中英

Typescript - “X”類型的參數不能分配給“Y”類型的參數

[英]Typescript - Argument of type “X” is not assignable to parameter of type “Y”

如何分配正確的類型來消除錯誤??? 我嘗試了不同的解決方案,但總是得到不同類型的錯誤。 這個是最容易理解的。

這是 Typescript 錯誤消息:

錯誤 TS2345:類型參數 '([currency, data]: [string, { available: string;}]) => void' 不可分配給類型參數 '(value: [string, {avaiable: string; }] ,索引:數字,數組:[字符串,{ 可用:字符串;}][]) => void'。 參數 '__0' 和 'value' 的類型不兼容。 鍵入'[字符串,{ 可用:字符串; }]' 不能分配給類型 '[string, { available: string; }]'。 '{avaiable: string; 類型中缺少屬性'available' }' 但在類型 '{ available: string; 中是必需的 }'。

interface Balances {
  [key: string]: { avaiable: string };
}

binance.balance(async (error: any, balances: Balances) => {
        Object.entries(balances).map(
          ([currency, data]: [string, { available: string }]) => {
            console.log(data.available);
            console.log(currency)
          }
        );
      }

您可以安全地刪除map上推斷的冗余類型。

const yourFunc = async (error: any, balances: Balances) => {
    return Object.entries(balances).map(
      ([currency, data]) => {
        console.log(data.avaiable);
        console.log(currency)
      }
    );
  }

此外,您在接口聲明中有一個avaiable

暫無
暫無

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

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