useRef
documentation说,保持任何可变的值很方便。我想知道为什么我们不能仅在组件的外部范围内使用变量?
// the object I want to keep around
let obj;
function MyComponent() {
useEffect(() => {
obj = //some code
}, []);
return (...)
}
它有效,不是吗?那么,为什么useRef
更好呢?
答案 0 :(得分:2)
外部作用域中的变量在组件实例之间共享。 useRef
将在您的组件本地创建一个可变对象(只要挂载了组件,它就会一直存在)。