首页 > 其他分享 >React 入门学习笔记

React 入门学习笔记

时间:2022-09-25 23:11:21浏览次数:65  
标签:react 入门 笔记 React state props 组件 class

npx create-react-app demo 创建react demo ,此命令行不需要提前安装create-react-app 脚手架,创建demo后就会删除了

vue 微信小程序 都是MVVM框架

react 是MVC框架

jsx 文件首字母必须大写用于区分html标签;文件名可以是js或者jsx,不影响文件中的代码

React.StrictMode 启用严格模式,仅在开发模式运行,他们不会影响生产构建;可以为任何部分启用严格模式

  • 识别不安全的生命周期
  • 关于使用过时字符串ref API的警告
  • 关于使用废弃的findDOMNode方法的警告
  • 检测意外的副作用
  • 检测过时的context API
  • 确保可复用的状态

React.Component class组件

  • 子类中必须定义render()函数

  • 生命周期

    • 挂载

      • constructor()

        在为 React.Component 子类实现构造函数时,应在其他语句之前调用 super(props)。否则,this.props 在构造函数中可能会出现未定义的 bug。
        通常,构造函数仅用于以下两种情况:
        通过给 this.state 赋值对象来初始化内部 state;
        为事件处理函数绑定实例

        constructor(props) {
            super(props);
            // 不要在这里调用 this.setState()
            this.state = { counter: 0 };
            this.handleClick = this.handleClick.bind(this);
        }
        
      • render()

        render() 方法是 class 组件中唯一必须实现的方法

      • static getDerivedStateFromProps() 不常用

      • componentDidMount()

    • 更新

      • static getDerivedStateFromProps()
      • shouldComponentUpdate()
      • render()
      • getSnapshotBeforeUpdate()
      • componentDidUpdate()
    • 卸载

      • componentWillUnmount()
    • 错误处理

      • static getDerivedStateFromError()
      • componentDidCatch()
  • 其他APIs

    • setState()
    • forceUpdate() 强制让组件重新渲染
  • class属性

    • defaultProps

      可以为 Class 组件添加默认 props。这一般用于 props 未赋值,但又不能为 null 的情况。例如:

      class CustomButton extends React.Component {
      // ...
      }
      
      CustomButton.defaultProps = {
      color: 'blue'
      };
      
      如果未提供 props.color,则默认设置为 'blue'
      render() {
          return <CustomButton /> ; // props.color 将设置为 'blue'
      }
      
    • displayName

      displayName 字符串多用于调试消息。通常,你不需要设置它,因为它可以根据函数组件或 class 组件的名称推断出来。如果调试时需要显示不同的名称或创建高阶组件

  • 实例属性

    • props
    • state

JSX语法糖

属性使用驼峰命名 htmlFor、className
style属性特殊,使用对象;
属性填写变量是,不需要加引号

<label htmlFor="userName"></label>
<input className="input" type="text" name="userName"/>
<p style={{color: 'red'}}>这是红色的</p>
<p style={styleVal}>这是蓝色的</p>

三元运算与循环

<p style={{backgroundColor: isRed ? 'red' : 'blue'}}>这是红色吗: {isRed}</p>
<ul>
    {
    arr.map((ele,index) => {
        return <li key={index}>{ele}</li>
    })
    }
</ul>

写法简化与vs扩展安装

ES7+ React 扩展插件

  • rcc -> react class component class式组件
  • rfc -> react function component 函数式组件

setState、事件 用法

import React, { Component } from 'react'

export default class SetState extends Component {
  constructor(props){
    super(props)
    this.state = {
      num: 0
    }

    this.addFun = () => {
      return this.setState({
        num: this.state.num + 1
      })
    }
  }

  render() {
    return (
        <>
        <div>数字为:{this.state.num}</div>
        <button onClick={() => this.setState({num: this.state.num + 1})}>累加</button>
        <button onClick={this.addFun}>累加</button>
        </>
    )
  }
}

标签:react,入门,笔记,React,state,props,组件,class
From: https://www.cnblogs.com/LChenglong/p/16729352.html

相关文章

  • 接口测试学习笔记一
    接口测试理论什么是接口接口:是指系统或组件之间的交互点,通过这些交互点可以实现数据的交互(数据交互的通道)接口的类型接口分为系统之间的接口和程序内部的接口系......
  • 第四周学习笔记
    第7章文件操作——教材知识点归纳7.1文件操作级别(1)硬件级别:fdisk:讲盘进行分区mfks:格式化磁盘分区fsck:检查和维修系统2)操作系统内核中的文件系统函数:其中前缀k表示内......
  • 笔记本
    笔记本本隐私政策更新时间:2022年8月生效时间:2021年8月广州菁宏信息科技有限公司非常注重保护用户(“您”)的个人信息及隐私,我们深知个人信息对您的重要性,并将按照法律法规要......
  • 《Unix/Linux系统编程》第四周学习笔记
    《Unix/Linux系统编程》第四周学习笔记文件操作(第7章)文件操作级别硬件级别:硬件级别的文件操作包括:`fdisk`:将硬件、U盘或SDC盘分区。`mkfs`:格式化磁盘分区,为系统做好......
  • 【Coel.学习笔记】特殊的图 - 仙人掌与圆方树
    你是什么仙人?引入仙人掌是一种特殊的无向图,它的任意一条边至多只出现在一条简单回路(每个点只出现一次的回路是简单回路,特殊地,自环不算简单回路)。这里借用一下[SHOI2006......
  • 《JavaScript高级程序设计》Chapter03学习笔记
    Chapter03JavaScriptLanguageSyntax类C区分大小写,标识符可以字母、下划线(_)、美元符号($)开头语句以分号(;)结尾:虽然不加分号也是被允许的,但会导致性能的降......
  • Python爬虫快速入门指南
    笔者近期需要使用爬虫技术来爬取某网页上的数据,因此学习了一下Python爬虫技术,正好最近也在学习Javaweb和spring相关技术,借此过程巩固一下相关基础知识。1了解基础知识①......
  • 第七、八章学习笔记
    第七章   文件操作第七章的主要内容是文件操作,主要包括以下几个方面:文件操作级别文件I/O操作低级别文件操作EXT2文件系统简介一、知识点归纳以及自己最有收获......
  • 第七、八章笔记
    ......
  • 【笔记】Oracle union all&for update锁
    【笔记】Oracleunionall&forupdateunionall在Oracle中有三种类型的集合操作UNION:求并,重复记录只显示一次UNIONALL:求并集,显示所有记录信息INTERSECT:求交集MINUS......