![](/img/trans.png)
[英]Why React.memo and shouldComponentUpdate aren't doing the same?
[英]Converting shouldcomponentupdate to memo in React
使用 React 备忘录的等效代码是什么?
shouldComponentUpdate(nextProps) {
if (this.props.addCourse !== nextProps.addCourse || this.props.level !== nextProps.level ) {
return true;
} else {
return false;
}
}
memo
高阶组件消耗了一个额外的areEqual
function ,它应该返回shouldComponentUpdate
的倒数。
笔记
与 class 组件上的
shouldComponentUpdate()
方法不同,如果 props 相等,areEqual
function 返回true
,如果 props 不相等,则返回false
。 这与shouldComponentUpdate
。
const areEqual = (prevProps, nextProps) => {
if (
prevProps.addCourse !== nextProps.addCourse ||
prevProps.level !== nextProps.level
) {
return false;
}
return true;
};
memo(MyComponent, areEqual);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.