React.js useRef钩子不返回期望的对象

问题描述 投票:0回答:1

我正在使用React钩子,下面是代码:

const [_va, _setva] = useState(0);
const va = useRef({current: _va});
console.log(va);

所以according to the documentationva的期望值是具有current属性的对象,该属性包含最初为0的期望值。

但是当我运行脚本时,我得到了这个结果:

result

换句话说,不是va.current包含期望值,va.current包含另一个current属性,其中包含期望值。这意味着我必须访问va.current.current才能访问所需的值。

有人知道为什么会这样吗?

javascript reactjs
1个回答
3
投票

您误解了文档;您将设置ref的值,并在返回对象的current属性中返回它:

const ref = useRef("foo");
console.log(ref.current) // "foo"

useRef的目的是给您一个对象,其引用不会更改,但其值可能会更改。该值显示为current。您可以随意访问和重新分配ref.current,并且ref保持不变。

© www.soinside.com 2019 - 2024. All rights reserved.