前几天在订阅的公众号看到阮一峰老师写的一篇文章《如何实现jQuery-free?》。本文所讨论的问题在今天仍然没有过时。一些讨论主要是关于具有新内核的现代浏览器的标准DOMAPI。遗憾的是,在目前的发展环境下,我们仍然不能完全抛弃它。IE,大多数情况下我们至少要兼容IE8,这让我们无法完全实现文章中提到的一些观点,而这篇文章也是受到***的启发,沿袭了阮老师文章的思路讨论如何在React中练习IE8兼容的jQuery-free。首先,我们还是要说,jQuery是最先进的JavaScript工具库。根据W3techs的统计,目前全球有70.6%的网站在使用它,而React甚至不到0.1%。不过,React一个值得注意的趋势是,它在当前流量排名靠前的网站中的使用率是**最好的,占比达到了16%。这个趋势也说明了目前整个前端行业的技术趋势,但是70.6%这个数字也告诉我们jQuery是JS库之王。即使使用了React,也可能是因为各种原因。与jQuery一起使用。但是React本身的大小让我们对任何笨重的库都感到不舒服。为了兼容IE8,我们还是需要使用1.x的jQuery版本,但是当时的设计缺陷让我们无法像lodash一样按需获取。React和jsx的强大使我们不需要jQuery的大部分功能。从这点来看,他那臃肿的体积让开发者更加难以忍受,jQuery-free势在必行。接下来,跟随阮老师当年的思路,探讨如何利用React自带的强大功能,屏蔽兼容一些有良心的第三方库,来替代jQuery的主要功能,实现jQuery-free。(注:React15.x版本不再兼容IE8,所以本文讨论的React依然是0.14.x版本,同时为了便于理解,本文基本以ES6的形式声明组件class而不是纯函数。)1.选择DOM元素在jQuery中,我们已经很熟悉使用sizzle选择器来完成DOM元素的选择。在React中,我们可以使用ref来更具体地获取元素。importReactfrom'react';classDemoextendsReact.Compoent{getDomNode(){returnthis.refs.root;//获取DomNode}render(){return(