1.父子组件之间通过props来通信
2.通过自定义事件通信
3.Redux和Context(父组件将数据传递给子组件,孙子组件,一直往下传)
createElement函数
执行返回vnode
父组件向它下面的所有子孙组件传递信息
比如一些简单的公共信息:主题,颜色等
对于复杂的公共信息,使用Redux进行传递
性能优化,减少不必要的重复渲染
View-->action-->dispatch-->reducer-->state-->view
函数的结果返回一个新值,不会修改其他值,没有副作
如arr1=arr.slice()
应该将ajax放到一个dom已经渲染完成的生命周期之中,这样整个应用会比较流畅,所以应该放入到ComponentDidMount之中
diff算法需要通过tag和key来判断是否为sameNode
函数组件输入props,输出JSX
函数组件没有实例,没有生命周期,没有state
不能拓展其他方法
表单的值受state控制
需要自行监听onChange,更新State
加载大组件
懒加载
高阶组件(HOC)
Render Props
使用异步action
如Redux-thunk
1.渲染列表时加key
2.自定义事件,DOM事件及时销毁
3.合理使用异步组件
4.减少bind this使用次数
5.合理使用SCU PureComponent 和memo
6.合理使用immutable.js
7.前端通用的性能优化,如图片懒加载
1.都支持组件化
2.都是数据驱动视图
3.都使用vdom操作DOM
1.React使用JSX拥抱JS,Vue使用模板拥抱html
2.React函数式编程,Vue声明式编程
3.React的api并不成熟,需要自力更生,而Vue已经有了比较成熟和丰富的API