是否可以对useref()中的初始值元素使用document.getelementbyid?

fkaflof6  于 2021-09-23  发布在  Java
关注(0)|答案(0)|浏览(282)
const myComp = () => { 
   const myRef = useRef();

   useEffect(() => {
       if (!myRef.current) return;

       const element = document.createElement('div');
       element.setAttribute('id', 'some-id');
       myRef.current.appendChild(element);

       // wrapperElement is `undefined`
       const wrapperElement = document.getElementById('some-id')

      // this will trigger error - see comment above   
      wrapperElement
         .appendChild(document.createElement('iframe')); 
    }
}, [ myRef ]);

当元素是ref元素的子元素(或存储在ref元素本身中)时,是否有方法通过id获取该元素?
目标是允许外部库获取 Package 器并在其中加载iframe。我无法控制外部库
用例示例:youtube播放器iframe,当通过 Package id而不是实际元素初始化时。我知道youtube播放器允许传递实际元素(即 myRef.current )而不是 Package 器id,但解决方案必须是泛型的,并且只能使用元素id

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题