React 中的useRef

useRef的作用主要有两种 

1.操作DOM或者获取其他组件的引用

操作步骤 

import { useRef } from 'react'
const xxxx = useRef(null)
 
xxxx.current

React 中的useRef_第1张图片

2.多次渲染之间共享数据 

import React, { useEffect, useState } from 'react'
import ReactDom from 'react-dom'
export default function App () {
  const [count, setCount] = useState(0)
  let timeId = null
  console.log(timeId)
  useEffect(() => {
    timeId = setInterval(() => {
      setCount((count) => count + 1)
    }, 1000)
    console.log(timeId)
  }, [])

  const hClick = () => {
    console.log(timeId)
    clearInterval(timeId)
  }

  return (
    
count:{count}
) } ReactDom.render(, document.getElementById('root'))

         如果我们只是声明一个普通变量  执行setCount时会导致组件重新渲染 而重新计算 会重复执行上面的代码 想要清除定时器 拿到的值会一直为null,所以需要一个多次渲染之间的共享数据 使用useRef 如下图

React 中的useRef_第2张图片

useRef

你可能感兴趣的:(经验,react.js,javascript,前端)