Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/402.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 自定义类型检查的状态检查_Javascript_Reactjs_Typescript - Fatal编程技术网

Javascript 自定义类型检查的状态检查

Javascript 自定义类型检查的状态检查,javascript,reactjs,typescript,Javascript,Reactjs,Typescript,如果我有此自定义类型的状态: interface DataType { [key: string]: string;} const [data, setData] = React.useState<DataType>({}); 为什么它返回false 我如何检查状态是否仍然是{} 谢谢你的帮助 比较数据==={}时,将根据类型和引用执行相等性检查 一个对象不等于另一个对象。您需要检查数据是否为对象且不为null或数组且没有键,以查看其是否为空对象 const isEmp

如果我有此自定义类型的状态:

  interface DataType { [key: string]: string;}

  const [data, setData] = React.useState<DataType>({});
为什么它返回false

我如何检查状态是否仍然是
{}


谢谢你的帮助

比较
数据==={}
时,将根据类型和引用执行相等性检查

一个对象不等于另一个对象。您需要检查数据是否为对象且不为null或数组且没有键,以查看其是否为空对象

const isEmptyObject=(数据)=>{
if(数据!==null&&typeof数据==='object'&&&!Array.isArray(数据)){
返回对象。键(数据)。长度==0;
}
返回false;
}
log(isEmptyObject({}));
log(isEmptyObject({x:1}))
console.log(data === {})