reactjs - 关于 useEffect 与 useMemo 的编码考虑
问题描述
我有一个场景,当状态发生变化时,我想输出一个简单的控制台日志消息。从性能的角度来看,我很好奇第一种方法是否比第二种方法更好。
第一的
const format = React.useMemo( () => {
return JSON.stringify(
QbUtils.jsonLogicFormat(
state.queryState.tree,
state.queryState.config),
null,
2)
}, [state.queryState])
console.log(format)
第二
useEffect( () => {
console.log(
JSON.stringify(
QbUtils.jsonLogicFormat(
state.queryState.tree,
state.queryState.config),
null,
2)
)
}, [state.queryState]
我通常会使用第二个选项,它们都不是更新状态而是对状态变化做出反应。是否有性能考虑?
注意:我确实删除了错误检查以及不是为了显示代码的目的。
解决方案
推荐阅读
- react-native - 更改文本时错误未定义不是函数
- stripe-payments - 是否可以向 Stripe 查询属于任何客户的信用卡?
- python - 双三次插值 Python
- javascript - Jquery - 如何以 html 形式存储选中的项目并将其返回到数组中?
- javascript - javascript - 合并、组合、转换 2 个不同的对象数组
- c# - 找到素数 c#
- events - AMP 在事件后添加一个类
- performance - SQLITE:关于使用 AUTOINCREMENT 的最佳实践
- python - 熊猫优化引导
- php - PHP 区分 only-date 或 only-time 以及两者