🎶 Sym - 一款用 Java 实现的现代化社区(论坛/BBS/社交网络/博客)平台

📕 思源笔记 - 一款桌面端笔记应用,支持 Windows、Mac 和 Linux

🎸 Solo - B3log 分布式社区的博客端节点,欢迎加入下一代社区网络

♏ Vditor - 一款浏览器端的 Markdown 编辑器

`setState` 使用回调函数作为参数的目的是什么?

2019-03-02

回答

setState 执行完成且组件被渲染完成时,将调用回调函数。由于 setState 是异步的,因此下一步执行的任何操作都可以使用该回调函数。

setState({ name: "sudheer" }, () => {
  console.log("The name has updated and component re-rendered")
}) 

加分回答

  • setState 完成后会调用回调函数,下一步需要执行的任何操作都可以使用该回调函数来实现。
  • 建议使用生命周期方法而不是该回调函数。
  • setState 中的第一个参数也可以传入函数,其结构为 function(state, props) => newState。这个函数会将每次更新都加入队列中,执行时通过当前的 stateprops 来获取新的 state。这样一来 React 就不会将对象合并(显然根本没有对象让他合并),把多次状态修改打包后进行一次批处理操作了。

返回总目录

30 秒面试系列一


欢迎注册黑客派社区,开启你的博客之旅。让学习和分享成为一种习惯!

推荐阅读
留下你的脚步