簡體   English   中英

奇怪的(Webpack?)錯誤“ TypeError:Object(…)不是函數”

[英]Strange (webpack?) error “TypeError: Object(…) is not a function”

遵循語法

const INITIAL_STATE = {
  userIsActive: getAccount() ? getAccount().status === "open" : false
};

導致瀏覽器拋出TypeError: Object(...) is not a function錯誤,我將其精確定位為特定於語法,getAccount()只是返回對象,例如

{
  status: "open"
}

更改為此功能可以很好地工作,甚至返回正確的數據

const accStatus = () => {
  try {
    return getAccount() ? getAccount().status === "open" : false;
  } catch (e) {
    console.error(e);
    return false;
  }
};

const INITIAL_STATE = {
  userIsActive: accStatus
};

但我不明白為什么它首先不起作用?

編輯:不觸發catch語句,這很奇怪

在第一個示例中, userIsActive是一個布爾值,而在第二個示例中,它是一個返回布爾值的函數。 這可能會起作用:

const INITIAL_STATE = {
  userIsActive: () => getAccount() ? getAccount().status === "open" : false
};

暫無
暫無

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

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