Мне нужно запросить элемент DOM и использовать хук useRef
:
const Overlay = ({ children }: Props) => {
const myRef = useRef<HTMLDivElement>(null);
useEffect(() => {
console.log(myRef.current);
}, [myRef]);
return (
<React.Fragment>
<Dialog fullScreen open={open}>
<DialogContent id="dialog" ref={myRef}>
<header>
// Header
</header>
{children}
</DialogContent>
</Dialog>
</React.Fragment>
);
};
export default Overlay;
Если я проверю консоль, она вернет null
.
Что мне нужно сделать, чтобы запросить элемент DOM с помощью useRef
?
React.forwardRef
в моем случае (с диалоговым окном Material UI или DialogContent? - person meez   schedule 03.04.2021MaterialUI
перенаправит ссылку на базовый собственный элемент DOM. Проверьте их документы, чтобы узнать, разрешают ли они пользователям доступ к базовому элементу DOM. - person Yousaf   schedule 03.04.2021forwardRef
? Просто использовать реквизитref
, как в моем примере? Согласно документации,ref
перенаправляется в корневой элемент. Но тогда возникает вопрос, почему сейчас возвращаетсяnull
? - person meez   schedule 03.04.2021ref
? Что ты пытаешься сделать? - person Yousaf   schedule 03.04.2021disablePortal
в интерфейс материала<Dialog>
. Теперь это работает! - person meez   schedule 04.04.2021