React

作者: 前端客 | 来源:发表于2019-07-02 11:16 被阅读0次
React优点
  • 组件化
    将一个应用拆分为组件的形式再进行组合,而对于每个组件来说,将应用状态和DOM进行拆分,最终提高了项目的后期可维护性。
  • 虚拟DOM
    虚拟DOM的出现,使react不需要每次状态改变都去访问DOM。而是生成新的虚拟DOM,和之前的虚拟DOM 进行对比,然后将改变的部分进行渲染。降低了访问DOM的成本,使其具有高性能。
React缺点
  • 虚拟DOM。这是react的优势也是有很大缺点的。首先,每次小小状态改变都要去生成新的虚拟DOM,如果这个虚拟DOM的结构复杂无疑带来很多开销。其次,我们需要改变一个子组件的数据,但数据来于父级。这时候,子组件的兄弟组件都会被重新执行render,生成虚拟DOM。还有,在做列表的时候,都必须加上key 来提高性能。react本身并不能很好的处理这些问题,必须我们人为的通过添加key,通过shouldComponentUpdate方法比较,immutable等方法去提升性能。
  • 视图层。只使用react本身是不能构建一个合格的应用的,必须结合周边各种库的辅助。
Props & State
  • 子组件和父组件之间可以通过Props进行数据的传递。
  • State表示组件的当前状态,通过改变state进行页面的重新渲染。
  • 兄弟组件之间,通过状态提升,把子组件的state数据提升至其共同的父组件当中保存。之后父组件可以通过props将状态数据传递到子组件当中,实现通信。
react-lifecycle.png
组件实例化创建
  • getDefaultProps
    作用于组件类,设置默认的props,只调用一次。es6中使用静态属性static defaultProps表示。
  • getInitialState
    实例创建时调用一次,设置默认state。es6中可以在constructor中设置this.state表示。
  • componentWillMount
    组件渲染前调用,这里可以修改state值,而不会再次触发render。
  • render
    根据props和state创建虚拟DOM。
  • componentDidMount
    渲染结束后调用,修改state将被渲染。可以通过findDOMNode去获取修改DOM。服务器端无法使用componentDidMount。
组件更新
  • componentWillReceivePorps(nextProps)
    属性改变时调用,nextProps为更新后的props,这里容易混淆。
  • shouldComponentUpdate(nextProps, nextState)
    nextProps,nextState分别为更新后的属性和状态。通常我们在这里判断属性和状态是否改变,是否需要重新渲染。如果返回true将渲染,false不会。
  • componentWillUpdate(nextProps, nextState)

组件更新渲染前调用,可以设置state。

  • componentDidUpdate()
    组件渲染后调用,修改state将被渲染。可以通过findDOMNode去获取修改DOM。
组件卸载
  • componentWillUnmount
    组件将被卸载时调用,一般用来清除事件监听和定时器。

相关文章

  • React基础

    react 教程 react 组件介绍 react state 介绍 react Props 介绍 React:组...

  • 学习react no.1

    学习react no.1 react 定义 react 特点 react

  • React Native 学习之路

    React 相关资料 React Components React Properties React State ...

  • React基础

    React包含react元素和react组件 react元素 react组件 react组件分为函数组件和类组件 ...

  • React面试题 整理脑图

    react基础 React生命周期 react-router react进阶 react Hooks redux 其他

  • react 导入中的 as

    import React from 'react'只导入 是 React。 而import * as React ...

  • ES5与ES6小结部分

    1var React=require('react'); 等价 import React from ' react...

  • React DnD基础概念和整体架构

    React DnD 的英文是 Drag and Drop for React。React DnD 是 React ...

  • React

    React 《React 官网文档》 React简介 React概念 React官网学习实践 - jSX简介 Re...

  • React学习笔记_01

    React 基础组件 react概述 npm i react react-dom react包 是核心,提供创建元...

网友评论

      本文标题:React

      本文链接:https://www.haomeiwen.com/subject/mbhlxctx.html