首页 > 解决方案 > 在 React 中将 shouldcomponentupdate 转换为备忘录

问题描述

使用 React 备忘录的等效代码是什么?

 shouldComponentUpdate(nextProps) {

    if (this.props.addCourse !== nextProps.addCourse || this.props.level !== nextProps.level ) {
      return true;
    } else {
      return false;
    }
  }

标签: javascriptreactjsreact-usememo

解决方案


memo高阶组件使用一个额外的函数,该areEqual函数应该返回shouldComponentUpdate.

备忘录

笔记

shouldComponentUpdate()类组件上的方法 不同,如果 props 相等或者props 不相等,areEqual函数会返回 。这是 的倒数 。truefalseshouldComponentUpdate

const areEqual = (prevProps, nextProps) => {
  if (
    prevProps.addCourse !== nextProps.addCourse ||
    prevProps.level !== nextProps.level
  ) {
    return false;
  }
  return true;
};

memo(MyComponent, areEqual);

推荐阅读