为什么我们需要引用来保留易变的对象?

时间:2019-08-29 09:22:00

标签: javascript reactjs

useRef documentation说,保持任何可变的值很方便。我想知道为什么我们不能仅在组件的外部范围内使用变量?

// the object I want to keep around
let obj;

function MyComponent() {
  useEffect(() => {
    obj =  //some code
  }, []);

  return (...)
}

它有效,不是吗?那么,为什么useRef更好呢?

1 个答案:

答案 0 :(得分:2)

外部作用域中的变量在组件实例之间共享。 useRef将在您的组件本地创建一个可变对象(只要挂载了组件,它就会一直存在)。