【发布时间】:2020-10-21 04:10:04
【问题描述】:
使用 React Hooks,存储需要大量计算才能初始化但不会在重新渲染时发生变化的常量的最佳做法是什么?
选项 1:钩子定义之外的常量
const x = heavyCalculation();
export default function MyHook() {
return <div>x</div>
}
选项 2:使用备忘录
export default function MyHook() {
const x = useMemo(() => heavyCalculation(), [])
return <div>x</div>
}
选项 3:useRef
export default function MyHook() {
const x = useRef(heavyCalculation())
return <div>x</div>
}
我喜欢选项 1,但我不知道它是否被认为是最适合风格的钩子。
【问题讨论】:
-
codereview.stackexchange.com 用于此类讨论,在 stackoverflow 上它们被视为离题。
标签: reactjs react-hooks