Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/476.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
React | JavaScript:需要比较两个对象_Javascript_Reactjs_React Native_React Redux - Fatal编程技术网

React | JavaScript:需要比较两个对象

React | JavaScript:需要比较两个对象,javascript,reactjs,react-native,react-redux,Javascript,Reactjs,React Native,React Redux,目标: 我需要检查表单是否已由用户编辑。如果是,那么我将调用axios.put()函数 问题: 因为在JS中,obj1={name:“John”}!==obj2={name:“John”} 我正在寻找一种更好的方法来比较两个对象 我的方式(似乎效率低下): const intialAddress={ 城市:“CA” 第1行:“testline1” 第2行:“测试行2” 电话:7772815615 pin:“1234” 国家:“CA” } const[address,setAddress]=use

目标:

我需要检查表单是否已由用户编辑。如果是,那么我将调用axios.put()函数

问题:

因为在JS中,obj1={name:“John”}!==obj2={name:“John”} 我正在寻找一种更好的方法来比较两个对象

我的方式(似乎效率低下):

const intialAddress={
城市:“CA”
第1行:“testline1”
第2行:“测试行2”
电话:7772815615
pin:“1234”
国家:“CA”
}
const[address,setAddress]=useState(initialAddress);
设addressFinalValue={};
常量地址值=(e)=>{
addressFinalValue[e.target.name]=e.target.value;
};
/***************************
*我做这件事的方式
**************************/
常量submitHandler=(e)=>{
e、 预防默认值();
setAddress(addressFinalValue);
如果(address.line1!==initialAddress.line1 | | address.line2!==initialAddress.line2 |等){
//axios.put()
} 
};
返回(
//这里有多个输入字段//
保存地址并继续
)

我真的很感激你的帮助。提前感谢。

如果您使用了lodash,那么它就简单多了

_.isEqual(obj1,obj2)

如果您使用了lodash,那么它就简单多了

_.isEqual(obj1,obj2)

我建议使用Lodash。检查这个

安装Lodash

npn install lodash --save
在文件中导入lodash

import _ from 'lodash';
比较你的对象

if(!_.isEqual(obj1, obj2) {
  //perform your action
}

我建议用Lodash。检查这个

安装Lodash

npn install lodash --save
在文件中导入lodash

import _ from 'lodash';
比较你的对象

if(!_.isEqual(obj1, obj2) {
  //perform your action
}

这回答了你的问题吗?谢谢但这不起作用。“diff”显示错误。因为它不是一个内置函数。你读过这个问题的全部答案了吗?这不是内置函数。您必须声明
diff
somewhere@KaranKumar当问题解决时,您不需要更新问题,当您将答案标记为已接受时,它将自动标记为“已解决”。这是否回答了您的问题?谢谢但这不起作用。“diff”显示错误。因为它不是一个内置函数。你读过这个问题的全部答案了吗?这不是内置函数。您必须声明
diff
somewhere@KaranKumar当问题解决时,您不需要更新问题,当您将答案标记为已接受时,它将自动标记为“已解决”。