• React组件的使用


     一、index.js 文件【基本配置】
     
     1 //react语法塘
     2 import React from 'react';
     3 //reactDom用来操作虚拟DOM
     4 import ReactDom from 'react-dom';
     5 //导入组件
     6 import App from './App';
     7 ReactDom.render(
     8     /*使用时需将组件App设置为 标签格式 */
     9     <App/>,
    10     document.querySelector('#root'),
    11     ()=>{
    12         console.log('渲染完成');
    13     }
    14 )
    二、App.js【组件App】
     
     1 //只需调入react语法塘【结构化赋值】
     2 import React,{Component,Fragment} from 'react';
     3  
     4  
     5 // React.Component : 所有组件的父类【在react当中所有的组件创建的时候必须首字母大写,为了区分Element元素和组件的区别】
     6 class App extents Component{
     7     // constructor 初始化函数 可以用来存放当前组件所需要的一些状态【必须写一个函数 render】
     8     constructor(){
     9         // super 必须要写
    10         super();
    11         this.state = {
    12             message:"王五"
    13         }
    14     }
    15  
    16     // react的生命周期函数【具体信息请向下划】【react中的函数不用加()】
    17     render(){
    18         let {message} = this.state;
    19         return (
    20             // Fragment 作用当做节点标签使用,但是不会被渲染成标签【类似文档碎片】
    21             <Fragment>
    22                 /*改变handleClick方法中this的指向,未改之前this指向此div元素【但又因为此div是虚拟dom,所以this指向null】*/
    23                 <div onClick={this.handleClick.bind(this)}>{message}</div>
    24             </Fragment>
    25         )
    26     }
    27  
    28     handleClick(){
    29         /*
    30             react 中不允许这这样改变数据
    31             this.state.message = '1234';
    32         */
    33  
    34         this.setState({
    35             message:"1234"
    36         })
    37     }
    38 }
    39  
    40 //将组件导出去
    41 export default App;
    三、对上方的解释
        1、render 【生命周期函数】
            作用:渲染虚拟DOM
     
            特点:当 render 渲染虚拟DOM的时候会将数据和虚拟DOM进行相结合生成真实的DOM结构,会将当前的虚拟DOM在缓存中保存一份,当数据发生改变的时候会将缓存中的虚拟DOM和第二次改变的虚拟DOM进行对比。修改需要改变的虚拟DOM节点,而不是改变所有的虚拟DOM【diff算法】
        
        2、constructor 初始化函数 可以用来存放当前组件所需要的一些状态
     
                状态(属性)
     
                this.state = {
                    name:"tom"
                }
     
        3、react 中如果需要改变this.state里面的数据 需要用this.setState方法
     
            用法为:
                this.setState({
                    key:val
                },
                ()=>{
                    //在这可以验证状态是否修改, 获取到最新的DOM结构【而vue通过this.$nextTick获取最新的DOM结构】
                })
     
            参数一:对象【改变状态】
                key:需要修改的状态
                val:值
            参数二:回调函数
     
  • 相关阅读:
    流媒体服务器搭建
    netcore问题总结
    Linux(Debian)网卡设置
    windows服务器让WEB通过防火墙的问题
    经典算法一 --- 过桥问题
    MySQL字段属性介绍
    什么是流程控制
    终于决定了,转行。
    浅析Openflow
    JavaScript 中 this 的详解
  • 原文地址:https://www.cnblogs.com/jokehl/p/9998137.html
Copyright © 2020-2023  润新知