【发布时间】:2020-03-21 14:01:11
【问题描述】:
我尝试解决包含未定义的问题,为此,我使用 && 运算符。
isAllChecked = label => {
const { permission } = this.state;
false value - I need false value when I get data from API,
But I got an error that includes undefined. for that, I used && operator
but I got a true value, I don't need to get true value
const data = !groupItems.some(
x => !permission && !permission[label] && !permission[label].includes(x)
);
// console.log(true) //true
const data = !groupItems.some(
x => !permission[label].includes(x)
);
// I got a false value using static data without using && operator
// data output: false (accepted output- getting using static data, but I need
to get the same value when I get data from API, I got an error includes undefined without using && operator)
return data;
};
但是,如果我从 API 获取数据,则显示此方法无法读取未定义的属性,当我要解析未定义的“包含”时,我使用了 && 运算符并获得了真值。
Cannot read property 'includes' of undefined.
我不需要真值,我需要初始安装的组件的假值。
我的问题是如何解决无法通过使用 && 运算符或任何东西读取未定义的属性“包含”。
这是我的代码沙箱:https://codesandbox.io/s/stackoverflow-a-60764570-3982562-v1-um18k
【问题讨论】:
-
还是不行吗??似乎codeandbox正在工作
-
是的,当我使用静态数据时它可以工作,但是当我使用 API 时,该方法不起作用,因为包含未定义。
-
为了解决我使用 && 运算符,但我得到了一个真实的价值。但是使用静态数据,我得到了错误的价值。
-
它是第三方 API 吗?
-
试试这个。我认为它正在工作 const data = groupItems.every( x => permission && permission[label] && permission[label].includes(x) );
标签: javascript arrays reactjs object