IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> JavaScript知识库 -> react最新笔记 -> 正文阅读

[JavaScript知识库]react最新笔记

新建项目

  1. npm install -g create-react-app 全局安装
  2. create-react-app my-app 新建并对react项目进行命名(注:项目名称不能有大写)
  3. cd my-app
  4. num run start

PS:以上是webpack创建react项目方式 本人也只用过webpack其他方式暂时先不做。

关于React

英文官网: https://reactjs.org/

中文官网: https://react.docschina.org/

其优点
1.声明式编码

2.组件化编码

3.React Native 编写原生应用

4.高效(优秀的Diffing算法)
还是不讲废话了 直接来开始react的使用

React JSX

学习react的时候这个是必看的

  1. JSX全称: JavaScript XML

  2. react定义的一种类似于XML的JS扩展语法: JS + XML本质是

    React.createElement方法的语法糖

  3. 作用: 用来简化创建虚拟DOM

  4. 写法:var ele =

    Hello JSX!

    注意1:它不是字符串, 也不是HTML/XML标签

    注意2:它最终产生的就是一个JS对象

  5. 标签名任意: HTML标签或其它标签

  6. 标签属性任意: HTML标签属性或其它

  7. 基本语法规则
    遇到 <开头的代码, 以标签的语法解析: html同名标签转换为html同名元素, 其它标签需要特别解析
    遇到以 { 开头的代码,以JS语法解析: 标签中的js表达式必须用{ }包含

  8. babel.js的作用
    浏览器不能直接解析JSX代码, 需要babel转译为纯JS的代码才能运行
    只要用了JSX,都要加上type=“text/babel”, 声明需要babel来处理

React面向组件编程

注意点

  1. 组件名必须首字母大写

  2. 虚拟DOM元素只能有一个根元素

  3. 虚拟DOM元素必须有结束标签

组件三大核心属性1: state

import React,{Component} from "react";
export default class StateTest extends Component{
    constructor(props){
      super(props)
      this.state={
          my:'5555'
      }
    }
        render(){
            const abc = this.state //state的
            console.log(abc);   //{'my:5555'}
            return(
                <div>我是state组件</div>
            )
        }
}

来看一下输出结果
在这里插入图片描述
对于state的理解

state是组件对象最重要的属性, 值是对象(可以包含多个key-value的组合)

组件被称为"状态机", 通过更新组件的state来更新对应的页面显示(重新渲染组件)

注意:组件中render方法中的this为组件实例对象

组件自定义的方法中this为undefined,如何解决?

  1. 强制绑定this: 通过函数对象的bind()
  2. 箭头函数

状态数据,不能直接修改或更新

组件三大核心属性2: props

import React,{Component} from "react";

export default class Props extends Component{
    constructor(props){
        super(props)
        console.log(props)
    }
    render(){
        return(
            <div>
                 真的挺牛逼的
            </div>
        )
    }
}

组件三大核心属性3: refs与事件处理

  1. 字符串形式的ref
   <input ref="input1"/>
  1. 回调形式的ref
   <input ref={(c)=>{this.input1 = c}}
  1. createRef创建ref容器
import React, { Component } from "react";


export default class InputRef extends Component {

    constructor(props) {
        super(props)
        this.inputdiv = React.createRef()
    }
    getvalue() {
        console.log(this.inputdiv.current.value)  //能获取input中的值
    }
    render() {
        return (
            <form>
                <input type='text' ref={this.inputdiv}></input>
                <button onClick={() => this.getvalue()}>获取</button>
            </form>
        )
    }
}
  1. 事件处理

    1. 通过onXxx属性指定事件处理函数(注意大小写)
    2. React使用的是自定义(合成)事件, 而不是使用的原生DOM事件
    3. React中的事件是通过事件委托方式处理的(委托给组件最外层的元素)
    4. 通过event.target得到发生事件的DOM元素对象
import React, { Component } from "react";

export default class Ref extends Component{
    constructor(props){
        super(props)
        
        this.mydiv = React.createRef()
        this.inputidv = React.createRef()
        
    }
    componentDidMount(){
        console.log(this.mydiv.current)
    }
    render(){
        return(
            <div ref={this.mydiv}>
              995
            </div>
        )
    }
}

this.my.current能获取Dom
在这里插入图片描述

明天继续更新

  JavaScript知识库 最新文章
ES6的相关知识点
react 函数式组件 & react其他一些总结
Vue基础超详细
前端JS也可以连点成线(Vue中运用 AntVG6)
Vue事件处理的基本使用
Vue后台项目的记录 (一)
前后端分离vue跨域,devServer配置proxy代理
TypeScript
初识vuex
vue项目安装包指令收集
上一篇文章      下一篇文章      查看所有文章
加:2021-12-07 11:56:25  更:2021-12-07 11:58:10 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 8:03:52-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码