Vue和react的一些异同
相同点
-
都支持组件化
-
都是数据驱动视图
-
都是用vdom操作DOM
不同点
React使用JSX拥抱JS,Vue使用模板拥抱html
React是函数式编程,传入props,结合state,返回jsx
Vue是声明式编程,通过数据声明
React需要更多的自力更生,对程序员要求高一些,Vue上手更简单一些,很多都帮你准备好
理解MVVM
MVVM就是 model-view view model
不避免提及的就是组件化,很久以前就有组件化的这么一个概念,像jsp、php那些就有组件化了,但是那些组件都是静态渲染的,想要更新,就只能通过js去操作DOM,这也是为什么早些年jqery那么火的原因。然后随着时代的发展,为了满足富客户端(页面功能越来越多),程序员不再需要太关注于DOM的操作,在之前的基础上进行了一些创新,MVVM数据驱动视图就出现了。
React的一些高级特性
受控组件
类似vue的v-model,react中要自己写双向数据绑定
非受控组件
必须要用到dom节点处理,无法通过setState解决,例如文件上传获取文件名
Portals
主要用来指定dom节点渲染的位置,例如position:fixed需要渲染在最外层body,父级z-index太低。
Context
生产消费者模式,用来解决多层级的组件之间通讯,用redux又小题大做的场景,如传入全局主题、语言等。
异步组件
用React.lazy和React.Suspence结合import函数来实现。