JSX:是JavaScript的一个语法糖(语法扩展),即在JS中可以编写像HTML一样的代码。
JSX实现高聚合,低耦合原则,高聚合是指React把实现一个功能的JS,CSS,HTML都封装在一个文件中,低耦合是指每一个实现不同功能的React组件都有他的独立性。
JSX与HTML的对比:
HTML上onclick添加的事件处理函数是在全局环境下执行的,会污染全局。
onclick添加的事件处理函数会影响网页性能。
对于onclick使用的DOM元素,如果要动态地从DOM树中删掉的话需要把对应的时间处理器注销,否则会造成内存泄漏。
JSX中onClick函数可以控制在组件范围内,不会污染全局空间。
JSX中使用了事件委托的方式处理点击事件,无论有多少个onClick出现,其实都只在DOM树上添加了一个事件处理函数,挂在最顶层的DOM节点上。
JSX中由React控制生命周期,在unmount的时候自然能够清除相关所有的事件处理函数,不会造成内存泄漏。
React中判断HTML元素是否是React组件的原则是 第一个字母是否是大写
网友评论