我是 React 框架的新手,并开始使用它。我读到它有一个出色的 diff 算法。我想知道我可以在我的元素上使用它吗?然后第二次运行它并获得一个结果对象,其中包含使用 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 }
]
关于reactjs - React,用它来区分对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34116442/