在不重新呈现组件的情况下,需要在屏幕上显示增量值(changes.current)。单击按钮时,增量发生,它显示在控制台上,但不改变屏幕上的值。我们需要显示增量值(changes.current)。我也尝试过document.getElementById("p_id")
,但它不起作用。
import "./styles.css";
import React, { useRef } from "react";
export default function App() {
let changes = useRef(0);
const changingValue = () => {
changes.current++;
//To print on console
console.log("New Value: " + changes.current);
};
// Statement to check the rerendering happening or not
console.log("rendering not happening");
return (
<div className="App">
{/* Button for click */}
<button onClick={changingValue}>
<b>Click me</b>
</button>
<p id='p_id'>{changes.current}</p>
</div>
);
}
预期:点击按钮时应显示更新值:enter image description here
1条答案
按热度按时间vuktfyat1#
改变React引用不会触发组件重新呈现。React组件重新呈现有以下3个原因之一:
1.已更新通过的 prop 。
1.父组件已重新渲染(因为其状态或属性已更新)。
更新某些局部状态将触发重新渲染。
示例:
您可以继续在React ref中存储任何值,但是为了查看任何更新的值,组件***必须***重新呈现,以便更新的UI可以刷新到DOM。