Я просто использую ramda, для решения той же проблемы, мне нужно знать, что изменилось в новом объекте. Итак, вот мой дизайн.
const oldState = {id:'170',name:'Ivab',secondName:'Ivanov',weight:45};
const newState = {id:'170',name:'Ivanko',secondName:'Ivanov',age:29};
const keysObj1 = R.keys(newState)
const filterFunc = key => {
const value = R.eqProps(key,oldState,newState)
return {[key]:value}
}
const result = R.map(filterFunc, keysObj1)
Результат - имя свойства и его статус.
[{"id":true}, {"name":false}, {"secondName":true}, {"age":false}]