useRef 会回传一个 mutable
的 ref object
,.current
属性为初始为传入的参数。写法如下:
const refContainer = useRef(initialValue); //initialValue 为初始值
在 html 标签上加上 ref 属性,就可以印出 DOM,以下方案例就是可以印出 input DOM
function App() {
const renderCount = useRef(0); // {current:0}
const [name, setName] = useState('');
const inputRef = useRef(null);
function changeValueHandler(e){
setName(e.target.value);
}
useEffect(() => {
renderCount.current += 1; //重新渲染一次就加一
},[name]);
function focusEvent(){
inputRef.current.focus();
}
return (
<div className="App">
<header className="App-header">
{/* 我们只要在 html 标签上加上 ref 属性,就可以透过 inputRef.current.focus()
直接读取 DOM */}
<input ref={inputRef} value={name} onChange={changeValueHandler} type="text"/>
<p>渲染次数 {renderCount.current} </p>
<button onClick={focusEvent}>按钮</button>
</header>
</div>
);
}
UseRef
不会重新 Render 元件,但可以更新值,也可以直接获取 DOM
<<: Day11 - 状态机与现实世界的落差 - 1: Action? Side Effect
一、前言 classnames 是一个方便 JavaScript 管理 class name 的...
在使用面板成功备份还原後, 再使用SSMS实作的可行性, 是否跟地端的一样? 先使用UI方式备份, ...
在软件开发过程中,最不确定的因素是「需求」。因为通常要做的系统是没人用过的新系统,常常使用者没看到系...
在UI出图之前,我们先确认好目前的 wireframe 是完整的。接下来只要依照 wireframe...
烫伤了手停了几天,不过差不多 15 天好像就交代完所有的东西了。剩下的大部分是比较冷门,甚至是 Gr...