reactjs - React,用它来区分对象

标签 reactjs

我是 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/

相关文章:

javascript - 使用 HTML5 在 React 中构建简单的音频播放器时遇到问题

javascript - 使用 NavLink 动态地将最后两个单词包装在字符串中

javascript - 状态没有更新

reactjs - 表单字段失去输入焦点

javascript - 防止 redux 存储值在组件中再次被使用

reactjs - React + TypeScript 仅允许特定类型的子级

javascript - 如何将 Chosen 合并到我的 React 项目中?

reactjs - RTK 查询维持 `isLoading` 缓存失效后自动重新获取

javascript - 删除 Material UI 轮廓文本字段中的内部填充边框

javascript - 单击 react 时如何将光标/插入符号移动到输入末尾