1.react是什么
概念:是一个javascript的ui库,用于构建高效,快速的用户界面,是一个轻量级的库
2.react的有点和缺点
优点
:
-
声明式没开发:声明式开发强调的是做什么,react是面向编程的,只要把数据构建好就可以了,react会根据这个数据自动构建网站,声明式开发介意节约大量的操作dom的代码。这是react的一个优势
-
可以与其他的框架共存:使用react的时候,我们也可以使用jquery, vue 这样的框架,react只管理id="root"里的代码的渲染,其他框架可以操作其他部分的代码。
-
单向数据流:父组件可以给子组件传值,但是子组件只可以使用这个值,绝对不能改变这个值,子组件想想改变值,只能调用父组件的方法,改变父组件的数据
-
函数式编程:容易维护,更容易实现前端自动化测试
缺点
:
-
状态不同步:函数的运行时独立的,每个函数都有一份独立的作用域。函数的变量是保存在运行时的作用域里面,当我们有异步操作的时候,经常会碰到异步回调的变量引用是之前的,也就是旧的。
-
react的虚拟DOM:每次 state 更改,render 函数都要生成完整的虚拟 DOM,如果 render 函数很复杂,这个过程就白白浪费了很多计算资源。
-
react的HTML模板:功能即不完备,也不健壮。react对HTML的支持残缺不全,手动把class属性替换成className,还要把内联的style样式从CSS语法改成JSON语法,代码才能运行。 前端工程师虽然可以把HTML原型复制粘贴到代码中,但是还的需要大量的改造