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

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的的调用机会统一

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理