场景:useState的状态值一旦通过状态更新函数改变了,React 就会重新渲染组件。
方法:可变引用useRef()保存可变数据,这些数据在更改时不会触发重新渲染
每次渲染组件时,countRenderRef可变引用的值都会使countRenderRef.current ++递增。 重要的是,更改不会触发组件重新渲染。
import React, { useRef, useEffect } from 'react';
function CountMyRenders() {
const countRenderRef = useRef(1);
useEffect(function afterRender() {
countRenderRef.current++;
},[]);
return (
<div>I've rendered {countRenderRef.current} times</div>
);
}