【发布时间】:2021-09-20 20:14:29
【问题描述】:
我正在尝试选择一个位于我使用 useRef 钩子选择的 DOM 中另一个元素内的元素。
const editorRef = useRef(null);
在 useEffect 挂钩中,我尝试选择 editorRef 上的子元素
useEffect(() => {
editorRef.current.querySelector(".ql-editor").innerHTML = post.content;
}, []);
但我得到了一个
TypeError:“无法设置属性 'innerHTML' of null”
但是当我在第一次刷新后保存我的代码时,它实际上可以工作并且 innerHTML 被填充。
【问题讨论】:
-
为此推荐 useLayoutEffect 而不是
useEffect。因为它在所有 DOM 突变后同步触发。
标签: reactjs next.js use-effect use-ref