美文网首页
React.memo()

React.memo()

作者: lovelydong | 来源:发表于2019-10-17 11:42 被阅读0次

React 16.6.0 正式发布 React.memo()

React.memo() 是什么?

React.memo() 和 PureComponent 很相似,它帮助我们控制何时重新渲染组件。

组件仅在它的 props 发生改变的时候进行重新渲染。通常来说,在组件树中 React 组件,只要有变化就会走一遍渲染流程。但是通过 PureComponent 和 React.memo(),我们可以仅仅让某些组件进行渲染。

const ToBeBetterComponent = React.memo(function MyComponent(props) {
  // only renders if props have changed
})

由于只有需要被渲染的组件被渲染了,所以这是一个性能提升。
PureComponent 要依靠 class 才能使用。而 React.memo() 可以和 functional component 一起使用。

import React from 'react';

const MySnowyComponent = React.memo(function MyComponent(props) {
  // only renders if props have changed!
});

// can also be an es6 arrow function
const OtherSnowy = React.memo(props => {
  return <div>my memoized component</div>;
});

// and even shorter with implicit return
const ImplicitSnowy = React.memo(props => (
  <div>implicit memoized component</div>
));

由于 React.memo() 是一个高阶组件,你可以使用它来包裹一个已有的 functional component:

const RocketComponent = props => <div>my rocket component. {props.fuel}!</div>;

// create a version that only renders on prop changes
const MemoizedRocketComponent = React.memo(RocketComponent);

相关文章

  • 如何使用React.memo()

    目录 包装函数 PureComponent React.memo() React.memo() 与Redux 其他...

  • React.memo()

    React 16.6.0 正式发布 React.memo() React.memo() 是什么? React.me...

  • Hooks进阶

    React.memo、useMemo、useCallback 的区别 React.memo 是对传入的 props...

  • [React Hooks] 样例学习---useWhyDidYo

    前置知识 React.memo React.memo 是一个高阶组件。类似于 React.PureComponen...

  • 封装了一个react下拉刷新上拉加载组件

    useState,useEffect,React.memo,Ts 使用等

  • React.memo

    React.memo 为高阶组件。它与 React.PureComponent 非常相似,但它适用于函数组件,但不...

  • react.memo

    React.memo 和 JS 的 memorize 函数的区别 https://dmitripavlutin.c...

  • React.memo

    1.基础使用 React.memo 相当于 React.pureComponent内部的shouldCompone...

  • React.memo

    先来看官网解释: React.memo 为高阶组件。如果你的组件在相同 props 的情况下渲染相同的结果,那么你...

  • React.memo() - React.lazy()

    介绍 包装函数 PureComponent React.memo() Redux配合使用 React.lazy()...

网友评论

      本文标题:React.memo()

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