gpt4 book ai didi

javascript - 每次重新渲染时都会计算 useState 和 useRef 初始值

转载 作者:行者123 更新时间:2023-11-28 14:14:04 27 4
gpt4 key购买 nike

有件事我迟到了:

const [object, setObject] = useState(new SomeObject());

在这里,我们在每次重新渲染上构造一个SomeObject实例。然后,如果它是组件的初始渲染,它将返回到 object,否则它就会被丢弃。

作为初始参数传入的任何内容都会被一遍又一遍地求值和丢弃。它也最好是纯粹的,因为重新渲染可以以任意间隔和任意数量发生。鉴于构造一些对象或大型数组可能非常昂贵,这不是有点次优吗?

这里有什么解决方案吗?我是否误解了什么,或者 React 中的这样一个基本功能是以这样一种次优的方式实现的?

最佳答案

您可以将函数传递给 useState Hook 来获取您的值 lazily initialized .

例如:

const [state, setState] = useState(() => new SomeObject());

关于javascript - 每次重新渲染时都会计算 useState 和 useRef 初始值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58434218/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com