即便如今,咱们仍是要说在HTML中直接使用onclick很不专业,缘由以下:编程
由于函数
打一个比方,React是一个聪明的建筑工人,而jQuery是一个比较傻的建筑工人,开发者你就是一个建筑的设计师,若是是jQuery这个建筑工人为你工做,你不得不事无巨细地告诉jQuery“如何去作”,要告诉他这面墙要拆掉重建,那面墙上要新开一个窗户,反之,若是是React这个建筑工人为你工做,你所要作的就是告诉这个工人“我想要什么样子”,只要把图纸递给React这个工人,他就会替你搞定一切,固然他不会把整个建筑拆掉重建,而是很聪明地把此次的图纸和上次的图纸作一个对比,发现不一样之处,而后只去作适当的修改就完成任务了。
显而易见,React的工做方式把开发者从繁琐的操做中解放出来,开发者只须要着重“我想要显示什么”,而不用操心“怎样去作”。
这种新的思惟方式,对于一个简单的例子也要编写很多代码,感受像是用高射炮打蚊子,可是对于一个大型的项目,这种方式编写的代码会更容易管理,由于整个React应用要作的就是渲染,开发者关注的是渲染成成什么样子,而不用关心如何实现增量渲染。
React的理念,归结为一个公式,就像下面这样:
UI=render(data)
让咱们来看看这个公式表达的含义,用户看到的界面(UI),应该是一个函数(在这里叫render)的执行结果,只接受数据(data)做为参数。这个函数是一个纯函数,所谓纯函数,指的是没有任何反作用,输出彻底依赖于输入的函数,两次函数调用若是输入相同,获得的结果也绝对相同。如此一来,最终的用户界面,在render函数肯定的状况下彻底取决于输入数据。性能