初学React | 青训营笔记

56 阅读2分钟

这是我参与「第五届青训营 」伴学笔记创作活动的第9天

今天跟着字节的课程学习了React的基础内容

一、本堂课重点内容:

1.React的历史与应用

image-20230131095526009

image-20230131095603751

image-20230131095632818

它是一个将数据渲染为HTML视图 的js库,特点:

  • 采用组件化模式,声明式编码,提高开发效率和组件复用性
  • 在React Native中可以用react预发进行安卓、ios移动端开发
  • 使用虚拟dom和有些的diffing算法,尽量减少与真实dom的交互,提高性能

2.React的设计思路

UI编程的痛点

状态更新,UI不会自动更新,需要手动地调用DOM进行更新 欠缺基本的代码层面的封装和隔离,代码层面没有组件化 UI之间的数据依赖关系,需要手动维护,如果依赖链路长,则会遇到回调地域

响应式和转换式

转换式:给定【输入】求解【输出】 响应式:监听消息,消息驱动

事件 -> 执行既定的回调 -> 状态变更 -> UI更新

3.React(hooks)的写法

React Hooks :

2018年底FaceBook的React小组推出Hooks以来,所有的React的开发者都对它大为赞赏。React Hooks就是用函数的形式代替原来的继承类的形式,并且使用预函数的形式管理state,有Hooks可以不再使用类的形式定义组件了。这时候你的认知也要发生变化了,原来把组件分为有状态组件和无状态组件,有状态组件用类的形式声明,无状态组件用函数的形式声明。那现在所有的组件都可以用函数来声明了。

原始React写法:

 import React, { Component } from 'react';
  
 class Example extends Component {
     constructor(props) {
         super(props);
         this.state = { count:0 }
     }
     render() { 
         return (
             <div>
                 <p>You clicked {this.state.count} times</p>
                 <button onClick={this.addCount.bind(this)}>Chlick me</button>
             </div>
         );
     }
     addCount(){
         this.setState({count:this.state.count+1})
     }
 }
  
 export default Example;

React的Hooks 写法:

 import React, { useState } from 'react';
 function Example(){
     const [ count , setCount ] = useState(0);
     return (
         <div>
             <p>You clicked {count} times</p>
             <button onClick={()=>{setCount(count+1)}}>click me</button>
         </div>
     )
 }
 export default Example;
  • Hooks本质上就是一类特殊的函数,他们可以为你的函数型组件(function component)注入一些特殊的功能。

4.React状态管理库

image-20230131102537333

状态管理库

image-20230131102719806

状态机

image-20230131102747659

5.应用级框架科普

image-20230131102845324