React(一)------的声明式编程和组件化思想

420 阅读1分钟

1. 声明式编程

声明式编程是告诉机器想要什么信息,机器就返回什么信息,偏重结果。

2. 命令式编程

命令式编程是需要做什么事,机器就做什么事,偏重过程。

3. 声明式和命令式对比

//声明式 直接赋值
var arr = [1,2,3,4,5];
var newArr = arr.map(val=>{
    return val**2
})
//命令式
let arr = [1,2,3,4,5];
let newArr = [];
let newArr = arr.forEach(val=>{
    let result = val**2
    newArr.push(result)
})

4. 组件化

组件化是指复杂系统时将多个功能模块拆分、重组的过程。

其实不复杂的功能也可以拆分便于重复利用。

5. 虚拟DOM

从 React 到 Vue ,虚拟 DOM 为这两个框架都带来了跨平台的能力。

实际上它只是一层对真实DOM的抽象,以JavaScript 对象 (VNode 节点) 作为基础的树,用对象的属性来描述节点,最终可以通过一系列操作使这棵树映射到真实环境上

Javascript对象中,虚拟DOM 表现为一个 Object对象。并且最少包含标签名 (tag)、属性 (attrs) 和子元素对象 (children) 三个属性,不同框架对这三个属性的名命可能会有差别

创建虚拟DOM就是为了更好将虚拟的节点渲染到页面视图中,所以虚拟DOM对象的节点与真实DOM的属性一一照应。