Sym - 一个用 Java 实现的现代化社区平台 • 源码 • 注册

Pipe - 小而美的开源博客平台 • 体验 • 皮肤 Solo - 一个用 Java 实现的博客系统,为你或你的团队创建个博客吧! • 源码下载  Wide - 一个基于 Web 的 Go 语言 IDE • 教程试用

`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 秒面试系列一


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

留下你的脚步