javascript - 如何通过反应使用一个useMemo?
问题描述
我只想在一个组件中使用一个 useMemo 而不是两个 useMemo。
下面是我的代码,
const App = () => {
const isChecked = React.useMemo(() =>
checked === 'something', [checked]);
const variables = React.useMemo(() => ({
variable1,
variable2: 200
}), [variable1]);
return (
//some jsx
);
}
现在的问题是如何将上述两个 useMemo 合二为一。有人可以帮我解决这个问题。谢谢。
解决方案
您可以像这样使用数组解构:
const [isChecked, variables] = React.useMemo(() => [
checked === 'something',
{ variable1, variable2: 200 }],
[checked, variable1]);
但是,它的优化程度较低,因为如果 check 或 variable1 发生变化,它将为变量 isChecked 和 variables 重新执行 useMemo 函数
推荐阅读
- python - 将矩阵转换为python中的特殊数据框
- node.js - Node.js:使用 npm -g 安装后找不到模块
- kivy - AttributeError:“kivy.properties.DictProperty”对象没有属性“字段”?
- javascript - 条件 MySQL 查询:取决于字段的 FROM 表
- arrays - F# 改变字符串中的一个字母
- java - 在不继承 Activity 和覆盖 onRequestPermissionsResult 方法的情况下处理权限请求结果
- powerbi - 在 Power BI 中按类别选择前三个价格点
- c# - 条纹支付到银行账户
- python - Python unittest找不到属性
- mysql - 加载数据并忽略制表符