以下为ChatGPT自动生成的解答,正确与否请自行判断。

BFE.devAI解答 - React 小测验
13. useRef

这段代码的输出结果是什么?

答案:输出结果为:

2

解释:

  • useRef 方法会返回一个普通 JavaScript 对象,该对象的 .current 属性对应着 React 内部保持的一个可变的值。在该代码中,ref 被初始化为 null
  • 我们使用 useState 来设置 state 的初始值为 1
  • useEffect 中,我们传递了一个空数组作为第二个参数,这表示该 useEffect 函数的逻辑仅仅执行一次,当组件挂载时。
  • 在这里,我们使用了 setState 来将 state 设置为 2,这会导致组件重新渲染。
  • 在组件重新渲染时,ref.current?.textContent 这一行代码执行,并且此时 ref.current 的值已经更新为存储了 2 的 div 元素,因为 state 的值已经由 1 改为了 2
  • 因此,console.log(ref.current?.textContent) 将会输出 2