怪(的WebPack?)错误 “类型错误:对象(...)不是一个函数”
问题描述:
以下语法怪(的WebPack?)错误 “类型错误:对象(...)不是一个函数”
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
};
你可以显示'getAccount'代码? –