React HOOK:useRef

useRef

useRef是用来在组件不同渲染之间共用一些数据的,它的作用和我们在类组件里面为this赋值是一样的。

语法

import {useRef} from "react"
const refObject = useRef(initialValue)
//useRef接收initialValue作为初始值,它的返回值是一个ref对象,这个对象的.current属性就是该数据的最新值。使用useRef的一个最简单的情况就是在函数组件里面获取DOM对象的引用
 

 

案例:

import { useRef, useEffect } from 'react'
import ReactDOM from 'react-dom'
​
const AutoFocusInput = () => {
  const inputRef = useRef(null)
​
  useEffect(() => {
    // 组件挂载后自动聚焦
    inputRef.current.focus()
  }, [])
​
  return (
    <input ref={inputRef} type='text' />
  )
}
​
ReactDOM.render(<AutoFocusInput />, document.getElementById('root'))
//在上面代码中inputRef其实就是一个{current: input节点}对象,只不过它可以保证在组件每次渲染的时候拿到的都是同一个对象。
 

 

posted on 2022-10-19 16:04  香香鲲  阅读(65)  评论(0编辑  收藏  举报