0


快速理解React钩子函数之useRef

主要作用

1.用来获取dom

const inputRef =useRef(initValue);

useRef 返回一个可变的ref对象,它的.cuttent属性被初始化为传入的参数(initialValue)。返回的 ref 对象在组件的整个生命周期内持续存在。

如果你将 ref 对象以

<div ref={myRef} 

形式传入组件,则无论该节点如何改变,React 都会将 ref 对象的 .current 属性设置为相应的 DOM 节点。

官方案例:

functionTextInputWithFocusButton(){const inputEl =useRef(null);constonButtonClick=()=>{// `current` 指向已挂载到 DOM 上的文本输入元素
    inputEl.current.focus();};return(<><input ref={inputEl} type="text"/><button onClick={onButtonClick}>Focus the input</button></>);}

2.保存一些值

  • 注意点:变更 .current 属性不会引发组件重新渲染。
functionTestUseRef(){const inputRef =useRef(null);const valueRef =useRef({value:"0000"});//用来储存值return(<div className="test-use-ref">{/* 以下显示一直是0000 ,因为.current属性的变更并不会使组件重新渲染 */}<div className="show-input-value">{valueRef.current.value}</div><input
        ref={inputRef}
        onChange={()=>{
          valueRef.current.value = inputRef.current.value;//存储的值变为 input输入的值}}/></div>);}

本文转载自: https://blog.csdn.net/qq_43682422/article/details/127240967
版权归原作者 godlike-icy 所有, 如有侵权,请联系我们删除。

“快速理解React钩子函数之useRef”的评论:

还没有评论