React做了相当多的! React最大的非显而易见的部分可能是事件系统 – 不仅React实现了自己的事件分派和冒泡,它规范了跨浏览器的常见事件,所以你不需要担心。例如,
SelectEventPlugin是一个内置的事件“插件”,它提供一个onSelect事件,在所有浏览器中的行为相同。
原文链接:https://www.f2er.com/react/303681.html“虚拟DOM”实现也需要相当数量的代码;大量的工作花费在性能优化上,这就是为什么未分级的版本包括ReactPerf,这是一个用于测量渲染性能的工具。在更新DOM时,React还为您执行一些方便的操作,例如维护任何输入选择并保持当前滚动位置相同。
React还有一些其他的技巧。最酷的一个是,它完全支持将组件呈现到HTML字符串,即使您没有浏览器环境,因此您可以发送一个页面,即使在JS加载之前。
你对什么反应? react-15.0.2.min.js是43k(gzipped),但jQuery是33k,而ember-2.6.0.prod.js是363k(也gzipped)。显然这些框架不做完全相同的事情,但他们有很多重叠,所以我认为比较是合理的。
如果你担心下载大小,我不会太担心JS代码贡献。这里是一个广告,我看到在我的Stack Overflow页面的右侧现在:
它的下载大小是95k – 我不会再考虑在页面中包含这样的图像,因为(即使我担心性能),通常有很多其他性能相关的事情需要修复,更有利可图。
总之,我不认为React是那么大,它确实有多大的小小的东西来帮助你。你引用React的小API作为React的代码应该小的原因,但是一个更好的问题可能是,“React的API如何能够如此简单,给你所有的事情?
…但这是一个完全独立的问题。 :)希望我回答了你的问题 – 乐意扩大,如果我没有。