我正在使用React钩子,下面是代码:
const [_va, _setva] = useState(0);
const va = useRef({current: _va});
console.log(va);
所以according to the documentation,va
的期望值是具有current
属性的对象,该属性包含最初为0的期望值。
但是当我运行脚本时,我得到了这个结果:
换句话说,不是va.current
包含期望值,va.current
包含另一个current
属性,其中包含期望值。这意味着我必须访问va.current.current
才能访问所需的值。
有人知道为什么会这样吗?
您误解了文档;您将设置ref的值,并在返回对象的current
属性中返回它:
const ref = useRef("foo");
console.log(ref.current) // "foo"
useRef的目的是给您一个对象,其引用不会更改,但其值可能会更改。该值显示为current
。您可以随意访问和重新分配ref.current
,并且ref
保持不变。