学习react

120 阅读3分钟

react基础知识

1 虚拟dom和真实dom的比较

真实dom 更新缓慢 直接更新html 创建新的dom dom操作代价很高 消耗内存比较高 虚拟dom 更新较快 无法直接更新html 如果元素更新则直接更新jsx dom操作简单 消耗内存比较小

2 什么是react

react是face在2011年开发的js库,遵循组件的方法,开发复杂的web界面,2015年开源,但是有很强大的社区和插件支持

3 react的特点

  • a 使用虚拟dom
  • b 可以服务端渲染 next 优点seo搜索
  • c 单项数据流,数据绑定

4 react的优点

  • 渲染速度快通过虚拟dom进行局部更新
  • 兼容好 通过虚拟dom可以跨浏览器兼容 还有强大的api支持,ie8也可以兼容
  • 模块化 在编写代码的时候,可以编写独立的ui组件 提高了复用性
  • 单向数据流
  • 灵活性好,更接近js的写法

5 react和vue的区别

  • vue的组件都是全局注册或者局部注册 react是import引入使用,更加的方便和灵活
  • vue多了很多指令让模板可以使用更多的功能 而react只能使用jsx语法
  • vue有计算和监听属性 而react只能自己使用一套逻辑
  • vue 把html css 和js 放到一个文件里 而react都是使用js方式处理,更加灵活
  • vue双向数据流 v-module双向数据绑定 父组件通过props传递数据更新子组件视图 react不太推荐props进行视图上的更新 react单项数据流,视图上的数据更新只能通过触发事件然后经过setstate更新

6 什么是jsx

jsx就是javascript XML 就是在js中可以写xml 更加的方便控制dom

7 什么是虚拟dom和diff算法

虚拟dom就是一个js对象是真实dom的一个副本 dom的属性变成对象的属性,当其中一个属性有变化时整个ui都会重新渲染 然后计算和之前的dom差异 再进行真实dom的更新

8 为啥浏览器不能读取jsx

浏览器只能读取js中的对象 不能读取jsx 只能通过转换器babal之类的转换为js对象

9 在react中es5和es6有啥区别

  • require引入方式改成 import引入
  • modeule exports 和 export defult
  • class类的继承
  • state不同
  • props的不同

react组件的知识

1 react组件的作用

react应用的构建块 这些组件分成独立可以重用的部分 每个组件分成独立的模块 彼此独立不会影响其他的组件 分成 有状态组件和无状态组件,无状态组件 大部分就是ui组件不包含什么逻辑,也没有数据状态,就是函数组件

2 react中的render函数的作用

在react中每个组件必须要有一个render纯函数 返回一个react元素 返回值必须要在一个封闭的标记内

3 props是什么

props是react的属性 必须保持纯净 就是不可改变 从父组件传递到子组件 单向数据流 用于动态生成数据

4 react状态是什么

react 状态是组件的核心是数据的来源 状态是组件呈现和行为的对象 与props不同 他是可变的 并且创建动态交互组件 通过this.state访问

5 区分状态和props

条件stateprops
父组件接受初始值
父组件可以改变值
组件设置默认值
父组件内部变化
设置子组件初始值
子组件内部变化