React介绍
react不是一个mvc的框架,它仅仅是V层。它是一个鼓励构建随着数据变化而改变UI表现的库。
React的特点
虚拟dom
什么是虚拟dom?
一种在内存中描述dom树状态的数据结构,当数据改变之后,diff出最小的dom改变,渲染dom元素。
符合声明式编程的思想
声明式编程(what):告诉“机器”,我们想要什么,让“机器”去做。
命令式编程(how):告诉“机器”,怎么做。
可构建可复用的组件
符合api的思想
什么是api的思想?
例如和后端制定接口一样,我们约定好, request以及response。用在react组件上,就是我们规定要组件需要接受的参数,在创建组件时传递所需参数。
(截图)以dom结构形式调用组件
react组件模型
树状图例说明
react 更加符合封装思想
template、js 、css 都可写在一个文件中,但是由于css是通过一个对象引入的,所以对动画支持的并不好。
react和redux结合
redux介绍
数据管理器,用redux充当react的model层,统一管理model,model的所有改变都需要通过redux
react 和其他mvc库的比较
backbone
react完美的解决了,backbone view层对dom的整体刷新。
解决backbone model的混乱
vue.js
vue是一个mvvm框架,支持数据双向绑定,最小的dom改变。但是vue的dom最小改变,是借助于真实dom
vue 也是符合封装思想的,但是比较混乱,组织的并不好,但是对动画支持很好。
vue对dom限制比较多, 但是数据双向绑定,这个避免不了的