响应式系统与React | 青训营笔记

81 阅读1分钟

这是我参与「第四届青训营 」笔记创作活动的第1天

React简介

React主要用于构建UI。你可以在React里传递多种类型的参数,如声明代码,帮助你渲染出UI、也可以是静态的HTML DOM元素、也可以传递动态变量、甚至是可交互的应用组件。

React的设计与实现-组件化

示例:苹果商城官网的React结构

Screenshot_20220804_172411.jpg

图片中的总金额是由Root将onChangeValue()向下传递

我们能得出的结论为:

  1. 组件是组件/原子组件
  2. 组件内拥有状态。外部不可见
  3. 父组件可将状态传入组件内部

React的设计思路-状态归属问题

react是单向数据流,是父组件向子组件提供一个函数,然后子组件执行这个函数。

React的设计思路-组件化

组件不仅声明了状态和UI的映射,组件还有Pros/State两种状态,“组件”还可由其拼装而成。

React的设计思路-生命周期

Screenshot_20220804_174013.jpg

React的设计思路-响应式编程

function Component(props){
//pros是父组件传入的状态
const{ url }=Props;
this.text='点击我'//状态
//返回一个“UI”
return (<div>
<subcompont Props={{ color:'red'}}></subcompont>
<img src={url}></img>
<button>text</button>
</div>)
}

React 的实现

 Virtual DOМ(虚拟 DOM )
Virtual DOM 是一种用于和真实 DOM 同步,而在 JS 内存中维护的一个对象,它具有和 DOM 类似的树状结构,并和 DOM 可以建立一一对应的关系。

它赋予了 React 声明式的 API :您告诉 React 希望让 U 是什么状态, React 就确保 DOM 匹配该状态。这使您可以从属性操作、事件处理和手动 DOM 更新这些在构建应用程序时必要的操作中解放出来。