如何获取弹框的ref
写了一个简单的弹框组件,在父组件中使用,大致如下
父组件
const parent: React.FC = () => {
const ref = useRef<HTMLElement>(null);
const [visible, setVisible] = useState<boolean>(false);
const handleVisible = () => {
.....
setVisible(true);
};
useEffect(() => {
document.addEventListener("click", (e) => {
if (ref.current) {
setModalVisible(false)
}
})
}, [visible]);
return (
<>
<MyModal ref={ref} visible={visible} />
</>
)
}
modal组件
interface MyModalProps {
ref: any;
}
const MyModal: React.FC<MyModalProps> = (props) => {
const { ref } = props
return (
<>
<div ref={ref}>
<div>hhhh</div>
</div>
</>
)
}
我想要在父组件中使用弹框的ref,但是当父组件渲染完成后ref就确定了,当我点击按钮弹出弹框的时候ref并不会更新,因此父组件中获取到的ref为空,请问有没有什么办法能够获取实时的ref呢,也就是当我打开弹框的时候,ref能够更新
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论