美文网首页
react hooks 批量更新优化

react hooks 批量更新优化

作者: potato_2bbf | 来源:发表于2021-01-03 16:26 被阅读0次

无状态组件中

const [a, setA] = useState(1)
const [b, setB] = useState({})
const [c, setC] = useState(1)
const handerClick = () => {
  setB({ ...b })
  setC(c + 1)
  setA(a + 1)
}

批量更新失效
这种情况在react-hooks中也普遍存在,这种情况甚至在hooks中更加明显,因为我们都知道hooks中每个useState保存了一个状态,并不是让class声明组件中,可以通过this.state统一协调状态,再一次异步函数中,比如说一次ajax请求后,想通过多个useState改变状态,会造成多次渲染页面,为了解决这个问题,我们可以手动批量更新。

手动批量更新
react-dom 中提供了unstable_batchedUpdates方法进行手动批量更新。这个api更契合react-hooks,我们可以这样做。

const handerClick = () => {
  Promise.resolve().then(() => {
    unstable_batchedUpdates(() => {
      setB({ ...b })
      setC(c + 1)
      setA(a + 1)
    })
  })
}

摘自 https://juejin.cn/post/6908895801116721160#heading-32

相关文章

  • react hooks 批量更新优化

    无状态组件中 批量更新失效这种情况在react-hooks中也普遍存在,这种情况甚至在hooks中更加明显,因为我...

  • 阿里前端面经1-4面

    一面 40min react hooks, useEffect和useCallback区别? react性能优化 ...

  • 深入学习 React Hooks

    React Hooks Hook 是 16.8新增特性。 hooks 优势 能优化类组件的三大问题 能在无需修改组...

  • React 18——记录

    自动批量更新 在React18之前,React 只会在事件处理程序中进行批量更新。在Promise,setTime...

  • React Hooks

    React Hooks Hooks其实就是有状态的函数式组件。 React Hooks让React的成本降低了很多...

  • react-hooks

    前置 学习面试视频 总结react hooks react-hooks react-hooks为函数组件提供了一些...

  • React Hooks

    前言 React Conf 2018 上 React 提出了关于 React Hooks 的提案,Hooks 作为...

  • 5分钟简单了解React-Hooks

    首先附上官网正文?:React Hooks Hooks are a new addition in React 1...

  • react-hooks

    react-hooks react-hooks 是react16.8以后,react新增的钩子API,目的是增加代...

  • React-hooks API介绍

    react-hooks HOOKS hooks概念在React Conf 2018被提出来,并将在未来的版本中被...

网友评论

      本文标题:react hooks 批量更新优化

      本文链接:https://www.haomeiwen.com/subject/osuvoktx.html