关于react.js:react相关的3个面试题

3次阅读

共计 528 个字符,预计需要花费 2 分钟才能阅读完成。

react 相干的 3 个面试题

setState 是同步还是异步?

  • legacy 模式,命中 batchedUpdates 时是异步
  • legacy 模式,未命中 batchedUpdates 时是同步

    • 比方:用 setTimeout 包裹 setState 函数
  • concurrent 模式都是异步

legacy 模式 -- ReactDOM.render(<App />, rootNode)

concurrent 模式 -- ReactDOM.createRoot(rootNode).render(<App />)

react 的申明周期函数


标红的是行将过期,应该防止应用他们

useEffect(fn, [])和 componentDidMount 有什么区别

  1. 聊聊 useEffect 的第二个参数如何影响 useEffect 回调函数的执行
  2. useEffect 回调函数与 componentDidMount 的执行机会

    • useEffect(fn, []) — commit 阶段 实现后 异步调用
    • componentDidMount — commit 阶段实现视图更新(mutation 阶段)后,在layout 阶段同步调用
    • useLayoutEffect(fn, []) — 在layout 阶段同步调用,跟 componentDidMount 的的调用机会统一
正文完
 0