useEffect(fn, [])和cDM有什么区别?
render 阶段计算出状态变化;commit阶段同步状态变化到视图,分为三个子阶段,beforeMutation, mutation (这也是真正执行DOM操作的) 和 layout。ComponentDidMount 是在 layout 阶段被同步调用的,而 useEffect 是在整个 commit 阶段结束后,被异步调用的。和 cDM 等价的 hook 是 useLayoutEffect。
render 阶段计算出状态变化;commit阶段同步状态变化到视图,分为三个子阶段,beforeMutation, mutation (这也是真正执行DOM操作的) 和 layout。ComponentDidMount 是在 layout 阶段被同步调用的,而 useEffect 是在整个 commit 阶段结束后,被异步调用的。和 cDM 等价的 hook 是 useLayoutEffect。