封装组件对外通过 ref 暴露的信息。
常用场景是子组件不希望父组件直接操作 dom,而是通过暴露固定方法
下面方法中,父组件通过 inputRef 只能获取到 value 属性,而没有其他的DOM信息
import React, { useRef, useImperativeHandle, useEffect } from 'react';
const Parent = () => {
const inputRef = useRef(null);
useEffect(() => {
setTimeout(() => {
if (inputRef.current) {
console.log(inputRef.current);
inputRef.current.value;
}
}, 3000);
}, []);
return <Child ref={inputRef} />
}
const ChildComponent = ({ propsRef }) => {
useImperativeHandle(propsRef, () => ({
value: propsRef.current.value
}), [propsRef]);
// 这里使用了 uncontrolled component
return <input ref={propsRef} defaultValue='xxx' />
}
const Child = React.forwardRef((props, ref) => {
return <ChildComponent {...props} propsRef={ref} />
});
export default Parent;
本文向大家介绍请说说什么是useRef?相关面试题,主要包含被问及请说说什么是useRef?时的应答技巧和注意事项,需要的朋友参考一下 useRef returns a mutable ref object whose .current property is initialized to the passed argument (initialValue). The returned objec
本文向大家介绍请说说什么是useReducer?相关面试题,主要包含被问及请说说什么是useReducer?时的应答技巧和注意事项,需要的朋友参考一下 基于 redux 思想实现简易数据控制流,useState 基于 reducer 实现
本文向大家介绍请说说react中Portal是什么?相关面试题,主要包含被问及请说说react中Portal是什么?时的应答技巧和注意事项,需要的朋友参考一下 传送门(真传送门)https://zhuanlan.zhihu.com/p/29880992
本文向大家介绍请你说说react的路由是什么?相关面试题,主要包含被问及请你说说react的路由是什么?时的应答技巧和注意事项,需要的朋友参考一下 react-router这个回答我给满分。
本文向大家介绍请说说什么是分区响应图?相关面试题,主要包含被问及请说说什么是分区响应图?时的应答技巧和注意事项,需要的朋友参考一下 img attribute - can use it, example: - from
本文向大家介绍请说说css的三大特性是什么?相关面试题,主要包含被问及请说说css的三大特性是什么?时的应答技巧和注意事项,需要的朋友参考一下 层叠性 继承性 优先级