我是React框架的新手,我开始使用它.我读到它有一个很好的差异算法.我想知道我可以在我的一个物体上使用它吗?并运行它第二次,并使用oldValue和newValue添加/删除/更改的内容得到一个结果对象?
谢谢团队
React本身不公开其差异化算法,因为它与虚拟DOM实现紧密集成.
但是,有一些独立的NPM模块可以完全满足您的要求.例如,查看flitbit/diff.
var diff = require('deep-diff'); var lhs = { a: 1, b: 2, c: 3 }; var rhs = { a: 1, b: 4, d: 5 }; var changes = diff(lhs, rhs); // changes are [ { kind: 'E', path: [ 'b' ], lhs: 2, rhs: 4 }, { kind: 'D', path: [ 'c' ] }, { kind: 'N', path: [ 'd' ], rhs: 5 } ]