美文网首页
React 性能优化

React 性能优化

作者: ticktackkk | 来源:发表于2020-08-10 18:00 被阅读0次

React.Memo

如果你的函数组件在给定相同props 的情况下渲染相同的结果,那么你可以通过将其包装在 React.memo中调用,以此通过记忆组件渲染结果的方式来提高组件的性能表现。这意味着在这种情况下,React 将跳过渲染组件的操作并直接复用最近一次渲染的结果。
ps:React.memo 仅检查 props 变更。如果函数组件被 React.memo 包裹,且其实现中拥有 useStateuseContext 的 Hook,当 context 发生变化时,它仍会重新渲染

import React, { Component } from "react";
import Child from "./Child";
class Demo extends Component {
  constructor(props) {
    super(props);
    this.state = { time: new Date() };
  }
  componentDidMount() {
    setInterval(() => {
      this.setState({
        time: new Date(),
      });
    }, 1000);
  }
  render() {
    console.log("render");
    return (
        <div>
            <Child value={1}></Child>
            <div>{this.state.time.toString()}</div>
        </div>
    )
  }
}

--------------------------------------------------------
import React, { useState } from "react";
const Child = ({ value }) => {
  console.log("Child:render");
  return <div>time:{value}</div>;
};
export default React.memo(Child);
使用React.memo防止多次被渲染

React.PureComponent

当页面总是setstate一个重复的值的时候,继承自component会重复渲染这一个值,但我们并不想这么做
所以可以使用React.PureComponent阻止重复渲染

import React from "react";
import Child from "./Child";
class Demo extends React.PureComponent {
  constructor(props) {
    super(props);
    this.state = { time: new Date() };
  }
  componentDidMount() {
    setInterval(() => {
      this.setState({
        time: 1,
      });
    }, 1000);
  }
  render() {
    console.log("render");
    return (
      <div>
        <Child value={1}></Child>
        <div>{this.state.time.toString()}</div>
      </div>
    );
  }
}

export default Demo;

相关文章

  • 【React.js 20】React性能优化

    React性能优化 React性能优化主要分三块: React 组件性能优化 属性传递优化针对单组件性能优化,很多...

  • 深入浅出React和Redux学习笔记(五)

    React组建的性能优化 性能优化的方法: 单个React组件的性能优化; 多个React组件的性能优化; 利用r...

  • Redux源码剖析

    前面写了《React组件性能优化》《Redux性能优化》《React-Redux性能优化》,但是都没有从这些框架的...

  • react性能优化

    React 性能优化 React 性能优化 | 包括原理、技巧、Demo、工具使用[https://juejin....

  • React-Redux性能优化

    前面写了两篇文章《React组件性能优化》《Redux性能优化》,分别针对React和Redux在使用上的性能优化...

  • react 框架性能优化

    react 框架性能优化 前端性能监控利器 1.Google Performance工具 2.react 性能查看...

  • React 性能优化

    React 性能优化 简单的 todo-list-demo 讲 React 性能优化不能光靠嘴说,得有一个 dem...

  • React性能优化方案

    React 性能优化 简单的 todo-list-demo 讲 React 性能优化不能光靠嘴说,得有一个 dem...

  • React 组件性能优化

    React 组件性能优化最佳实践 React 组件性能优化的核心是减少渲染真实 DOM 节点的频率,减少 Virt...

  • 05|React组件的性能优化

    本文主要是针对性能优化做介绍,对应的React本身性能就比较不错!要介绍的点如下: 单个React组件的性能优化 ...

网友评论

      本文标题:React 性能优化

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