其他分享
首页 > 其他分享> > 2021-04-12

2021-04-12

作者:互联网

useRef

定义

const refContainer = useRef(initialValue);

为什么使用useRef

返回的 ref 对象在组件的整个生命周期内保持不变

  1. 示例1:
    由于每次渲染周期获取到的state数据都是本次的,而要达到跨渲染周期就需要采用useRef
    由于闭包,函数里的变量值为调用函数时对应的快照like值
import React, { useState } from "react";
const LikeButton: React.FC = () => {
	const [like, setLike] = useState(0)
	function handleAlertClick() {
		setTimeout(() => {
			alert(`you clicked on ${like}`) 
			//形成闭包,所以弹出来的是当时触发函数时的like值
		}, 3000)
	}
	return (
		<>
			<button onClick={() => setLike(like + 1)}>{like}赞</button>
			<button onClick={handleAlertClick}>Alert</button>
		</>
	)
}
export default LikeButton

useRef与createRef

标签:闭包,useRef,12,const,like,04,React,useState,2021
来源: https://blog.csdn.net/u011705725/article/details/115634265