zoukankan      html  css  js  c++  java
  • 【整理】REACT一些自己感觉需要记的东西

    REACT生命周期:

    组件的生命周期可分成三个状态:

    • Mounting:已插入真实 DOM
    • Updating:正在被重新渲染
    • Unmounting:已移出真实 DOM

    生命周期的方法有:

      • componentWillMount:在渲染前调用,在客户端也在服务端。

      • componentDidMount: 在第一次渲染后调用,只在客户端。之后组件已经生成了对应的DOM结构,可以通过this.getDOMNode()来进行访问。 如果你想和其他JavaScript框架一起使用,可以在这个方法中调用setTimeout, setInterval或者发送AJAX请求等操作(防止异部操作阻塞UI)。

      • componentWillReceiveProps:在组件接收到一个新的prop时被调用。这个方法在初始化render时不会被调用。需要传递个参数“nextProps

      • shouldComponentUpdate:返回一个布尔值。在组件接收到新的props或者state时被调用。在初始化时或者使用forceUpdate时不被调用。 
        可以在你确认不需要更新组件时使用。

      • componentWillUpdate:在组件接收到新的props或者state但还没有render时被调用。在初始化时不会被调用。

      • componentDidUpdate:在组件完成更新后立即调用。在初始化时不会被调用。

      • componentWillUnmount:在组件从 DOM 中移除的时候立刻被调用。

    生命周期执行顺序

    实例化
    ----首次实例化
    --------getDefaultProps
    --------getInitialState
    --------componentWillMount
    --------render
    --------componentDidMount
    实例化完成后的更新
    ----getInitialState
    ----componentWillMount
    ----render
    ----componentDidMount
    存在期
    ----组件已存在时的状态改变
    --------componentWillReceiveProps
    --------shouldComponentUpdate
    --------componentWillUpdate
    --------render
    --------componentDidUpdate
    销毁&清理期
    --------componentWillUnmount

    event参数

    获取当前点击对象
    event.currentTarget
    获取当前dom对象
    event.target

    初始化对象

    如果某个组件区块的更新率比较频繁,可以在getInitialState中初始化一个对象

    render中的值可以直接使用对象的点值

    在某函数中直接用等号改变对象的值,然后用setState更新整个对象,组件的内容就可以被更新

    引入外部组件

    var Tucao_title=require('plugin/tucao_title');//tab标题

    this.refs //获取虚拟dom

    ReactDOM.findDOMNode() //获取真实dom 参数react组件或dom原元素

    总结文档

    欢迎一起交流!
    【http://wuhairui.cnblogs.com/】

  • 相关阅读:
    net.sf.json.JSONException: There is a cycle in the hierarchy!
    数据源的配置
    java枚举使用详解
    hibernate级联保存,更新个人遇到的问题
    NonUniqueObjectException 问题
    No.2 dotnetcore&docker--数据库等在Docker上的配置
    No.1 dotnetcore&docker--环境搭建
    No.5 dotnetcore&docker--采用Ambry做文件服务器
    No.3 dotnetcore&docker--搭建一个nuget服务器
    关于APM数据采集实例以及Eureka整合的一个想法
  • 原文地址:https://www.cnblogs.com/wuhairui/p/6768826.html
Copyright © 2011-2022 走看看