javascript - 在 React 中将 shouldcomponentupdate 转换为备忘录
问题描述
使用 React 备忘录的等效代码是什么?
shouldComponentUpdate(nextProps) {
if (this.props.addCourse !== nextProps.addCourse || this.props.level !== nextProps.level ) {
return true;
} else {
return false;
}
}
解决方案
memo
高阶组件使用一个额外的函数,该areEqual
函数应该返回shouldComponentUpdate
.
笔记
与
shouldComponentUpdate()
类组件上的方法 不同,如果 props 相等或者props 不相等,areEqual
函数会返回 。这是 的倒数 。true
false
shouldComponentUpdate
const areEqual = (prevProps, nextProps) => {
if (
prevProps.addCourse !== nextProps.addCourse ||
prevProps.level !== nextProps.level
) {
return false;
}
return true;
};
memo(MyComponent, areEqual);
推荐阅读
- android - 如何在离子中显示共享底页以进行文件共享?
- .net-core-3.1 - 未找到 ModelItem 和 ModelTreeManager。System.Activities.Presentation 缺少 .net core 3.1
- javascript - 在查询结果后传递参数(ExpressJS)
- git-bash - 在 Windows 上为 2.27 更新 Git 后,Git Bash 不起作用
- sql - SQLReset 基于行或标志的排名
- system-verilog - 我怎么知道会自动创建哪些垃圾箱?
- angular - Officejs 在单击功能区按钮时切换任务窗格窗口
- java - 放心 400 错误请求
- spring - Sleuth traceId 无法在 Quartz 作业中传播
- react-native - 如何使用 React-Navigation-V5 和 PHP MySql 将表 id 导航到另一个屏幕以及如何将 id 导航到第二个屏幕?