什么是react
React不是一个完整的MVC框架,最多可以认为是MVC中的V(View),甚至React并不非常认可MVC开发模式
高性能:复杂或频繁的DOM操作通常是性能瓶颈的原因,为此引入了虚拟DOM
虚拟DOM:每当数据变化时,React会重新构建DOM树
使用React大大降低了逻辑复杂性,意味着开发难度降低,产生bug更少
React衍生品:React native 是React衍生出的一套框架
React的特点和优势
1.虚拟DOM
2.jsx
3.单向数据流
4.组件化开发、高效率
react组件生命周期理解
组件是一个构造器,每一次使用组件都相当于在实例化组件,这个时候,组件就会经历一次生命周期,从实例化实例开始到这个实例销毁的时候,都是一个完整的生命周期
组件的生命周期,我们会分为三个阶段,初始化、运行中、销毁
react中的组件传参
父组件与子组件通信
1.父组件将自己的状态传递给子组件,子组件当做属性来接收,当父组件更改自己状态的时候,子组件接收到的属性就会发生改变
2.父组件利用ref对子组件做标记,通过调用子组件的方法以更改子组件的状态
子组件与父组件通信
父组件将自己的某个方法传递给子组件,在方法里可以做任意操作,比如可以更改状态,子组件通过this.props接收到父组件的方法后调用
兄弟组件通信
在React没有类似vue中的事件总线来解决这个问题,我们只能借助他们共同的父级组件来实现,将非父子关系转换成多维度的父子关系
复杂的非父子组件通信在React中很难处理,多组件间的数据共享也不好处理,所以我们会使用flux、redux来实现这样的功能,解决这个问题