好客租房85-组件性能优化(5纯组件)

简介: 好客租房85-组件性能优化(5纯组件)

图片.png

我是歌谣 我有个兄弟 巅峰的时候排名c站总榜19 叫前端小歌谣 曾经我花了三年的时间创作了他 现在我要用五年的时间超越他 今天又是接近兄弟的一天人生难免坎坷 大不了从头再来 歌谣的意志是永恒的 放弃很容易 但是坚持一定很酷

.

前言

最好的种树是十年前 其次是现在

001.gif

面试题什么是纯组件(react)

React 有一个特点,那就是当父组件重新 render 的时候,无论传入子组件的 props 有没有变化,子组件都会重新 render。但是这种 render 很多情况下是没有必要的。

.

代码案例

父组件

import React, { Component } from 'react';
import Son from './Son';
class Father extends Component {
    constructor(props) {        
     super(props);        
     this.state = { value:0 }    
     }    
     onClick=()=>{        
      this.setState({
            value : this.state.value+1
        })    
     }    
      render() {
         console.log('我是爸爸组件')
         return (<div>
             <button onClick={this.onClick}>click me</button>
             <Son value={this.state.value}/>
             </div>  );    
  }}
export default Father;

子组件

import React, { Component,PureComponent } from 'react';
class Son extends Component {
  constructor(props) {
          super(props); 
          this.state = {  }    
          }    
          render() {
          console.log('我是儿子组件')
          return ("<div>
          {this.props.value}
          </div> " 
          );   
  }}

子组件改成 PureComponent,即,当检测到 props 没有变化的时候,并不重新渲染。但是当这个点击事件开始触发的时候就会发生变化,这个是无法改变的 PureComponent是控制子组件状态不改变的方式之一


当第一次改变的时候 打印的值


//我是父亲组件  我是儿子组件 我是父亲组件  我是儿子组件


当点击事件的时候 打印的值


//我是父亲组件   我是父亲组件  我是父亲组件 我是父亲组件


相关文章
|
6月前
|
新零售 人工智能 自然语言处理
未来生物小程序商城系统开发模式|方案需求
新零售系统商城的成功离不开先进技术的支撑。
好客租房138-长列表性能优化
好客租房138-长列表性能优化
53 0
好客租房138-长列表性能优化
好客租房86-组件性能优化(5纯组件shallow compare)
好客租房86-组件性能优化(5纯组件shallow compare)
88 0
好客租房86-组件性能优化(5纯组件shallow compare)
|
前端开发
好客租房83-组件性能优化(3减少不必要的渲染)
好客租房83-组件性能优化(3减少不必要的渲染)
65 0
好客租房83-组件性能优化(3减少不必要的渲染)
|
前端开发
好客租房40-react组件基础综合案例-案例需求分析
好客租房40-react组件基础综合案例-案例需求分析
110 0
好客租房40-react组件基础综合案例-案例需求分析
|
前端开发
好客租房84-组件性能优化(4减少不必要的渲染)
好客租房84-组件性能优化(4减少不必要的渲染)
116 0
好客租房84-组件性能优化(4减少不必要的渲染)
|
前端开发
好客租房45-react组件基础综合案例-6边界问题
好客租房45-react组件基础综合案例-6边界问题
89 0
好客租房45-react组件基础综合案例-6边界问题
|
前端开发
好客租房42-react组件基础综合案例-渲染列表无数据并优化
好客租房42-react组件基础综合案例-渲染列表无数据并优化
114 0
好客租房42-react组件基础综合案例-渲染列表无数据并优化
好客租房80-组件更新机制
好客租房80-组件更新机制
95 0
好客租房80-组件更新机制