加入收藏 | 设为首页 | 会员中心 | 我要投稿 河北网 (https://www.hebeiwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 移动互联 > 正文

React Fire:React DOM 的改造计划,使其更现代化

发布时间:2018-09-06 05:37:06 所属栏目:移动互联 来源:h4cd
导读:9月15日技能沙龙 | 怎样将智能化和运维事变相团结,实现智能运维! React开拓者,同时也是 Redux 和 Create React App 作者之一的Dan Abramovgaearon昨日在 React 的 GitHub 客栈提了一个这样的 issue React Fire: Modernizing React DOM(React Fire:使Re
9月15日技能沙龙 | 怎样将智能化和运维事变相团结,实现智能运维!

React Fire:React DOM 的改革打算,使其更当代化

React 开拓者,同时也是 Redux 和 Create React App 作者之一的 Dan Abramov gaearon 昨日在 React 的 GitHub 客栈提了一个这样的 issue —— React Fire: Modernizing React DOM(React Fire:使 React DOM 当代化)。他暗示今朝跟着对 React 的底层基本改革事变越来越靠近尾声,维护团队开始思量怎样使 React 更好地与 DOM 的事变方法保持同等,并从头审阅了已往一些导致大量题目的有争议的决定,同时但愿使 React 变得更小更快。

React Fire:React DOM 的改革打算,使其更当代化

Dan 暗示,今朝 React DOM 存在着相等多的已知题目,假如没有更大的内部变革,个中一些题目很难或基础无法修复,这些题目导致了无数的后续修复事变并发生了大量的技能债务。在这项被称为 React Fire 的当代化 Reat DOM 改革打算中,开拓团队但愿删除变乱体系中的一些抽象,这些抽象从 React 降生往后就险些没有被触及,而且是体系伟大性和项目包变大的来源。

Dan 具体先容了今朝关于 React Fire 的一些设法:

  • 遏制在 value 属性中映射输入值。这最初在 React 15.2.0 中被添加,它是一个很是广泛的要求,由于人们对 DOM 的观念模子是他们在 DOM 搜查器中看到的值应该与 JSX 的属性匹配。但这并不是 DOM 的事变方法。当你在键入字段时,赏识器不会更新 value 属性,那么 React 也不该该这样做。究竟证明,这种变革固然也许对依靠 CSS 选择器的一些代码有所辅佐,但却激发了一系列 bug,个中一些仍未获得修复。

  • 在 React 根目次而不是 document 工具中添加变乱。将 React 应用措施嵌入到更大的体系中时,将变乱处理赏罚措施添加到 document 工具会成为一个题目。Atom 编辑器是最早碰着这种环境的案例之一。任何大型网站最终也会成长出与 stopPropagation 相干的很是伟大的边沿案例,它们与非 React 代码或跨 React 举办交互。

  • 从 onChange 迁徙到 onInput,而且不要添补不受节制的组件。React 在 DOM 中行使差异的变乱名称来暗示输入变乱这让人异常狐疑。固然我们凡是停止在没有明显上风的环境下举办这样的大窜改,但在这种环境下,照旧但愿去消除一些伟大性,这些伟大性仅对改叛变制输入等边沿环境是必须的。因此,将这两个变动团结在一路是故意义的,并将其用作为一种 onInput 和 onChange 完全凭证 DOM 变乱对不受节制的组件执行的操纵的实行。

  • 大大简化变乱体系。自 2013 年实现以来,当前变乱体系险些没有变革。它在 React DOM 和 React Native 中被一再行使,因此它是不须要的抽象。它提供的很多 polyfills 对付当代赏识器来说是不须要的,而且个中一些会发生比他们办理的题目更多的题目。它也占有 React DOM 包的很大一部门。关于这一点,今朝还没有很是详细的打算,可是也许会完全将变乱体系再 fork 一份出来,然后看看在更靠近 DOM 赋予的对象的时辰可以去做些什么。而完全挣脱冒泡变乱好像是公道的。应该遏制冒泡勾当,好比媒体变乱,这些变乱不会在 DOM 中冒泡,也没有充实的来由冒泡。

  • className → class。这已经被提出了无数次。今朝已经应承在 React 16 中将 class 转达到 DOM 节点中,这样做导致的紊乱现实上是比语法限定来得故意义的。

Dan 还暗示,为了告竣此方针,也许必要低落与某些旧赏识器的兼容性,而且也许必要更多独立的 polyfill,详情可以查察原文举办相识。

对付这个 issue,你是怎么对待的呢?接待在评述中留下你的设法。

【编辑保举】

  1. 苹果宣布iOS 12体系第七个开拓者测试版
  2. 为什么说软件开拓者是有史以来最好的事变呢?
  3. 微软车库应用Sketch 2 Code:将来将更换前端应用开拓者?
  4. Angular 应承开拓者在 Web 和移动应用之间共享代码
  5. 人工智能崛起 因难度大,平凡AI开拓者将成香饽饽
【责任编辑:张燕妮 TEL:(010)68476606】
点赞 0

(编辑:河北网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读