1. setState传参

setState中,第一个参数可以传入对象,也可以是函数,第二个为可选参数,参数为一个回调函数,那么什么场景下传入对象?什么场景下使用函数,什么场景下需要传入第二个参数呢?

  1. 如果state的更新不依赖于之前的state中的值,使用对象
  2. 如果state的更新依赖之前state中的值,则第一个参数传入函数
  3. 如果state更新完成后立马需要使用state的值,则需要传入第二个参数

2. setState是同步还是异步

如果在react生命周期函数中使用setState或者直接在react事件回调函数中直接使用setState,此时是异步的

如果在setState在定时器回调 promise回调或者原生事件回调中,则是同步的

3. 异步setState多次调用如何处理

  1. setState({}): 合并更新一次状态, 只调用一次render()更新界面 —状态更新和界面更新都合并了
  2. setState(fn): 更新多次状态, 但只调用一次render()更新界面 —状态更新没有合并, 但界面更新合并了

setState用法总结相关推荐

  1. 你真的了解 setState 吗?

    本文所有示例 setState 算是 React 里被使用的最高频的 api,但你真的了解 setState 吗?比如下面这段代码,你能清楚的知道输出什么吗? import { Component } ...

  2. navigation笔记

    react native存在的问题 vscode怎样打断点 _onPressButton()为什么以下划线命名 setState用法 render()用法eslint报错 不懂的地方:不懂怎么调试 不 ...

  3. 20170612-点滴记录

    less中串联选择器的表示 .container {&.content {} } 上面的&符号表示串联选择器,&.content表示选择到.container.content这 ...

  4. react中setState有三种用法

    (1)对象 this.setState({}) (2)函数,一般是用于在setState之前做一些操作 this.setState(() => {// TODOconsole.log('')re ...

  5. java中render用法_如何在React中不在render函数中使用setState

    您不应该使用 componentWillReceiveProps ,因为在最新版本中,'s UNSAFE and it won'适用于React的异步呈现 . 还有其他方法! 在初始装载和后续更新时, ...

  6. this.setState的详细用法

    1.为什么不要直接对state进行赋值? 如果直接对this.state复制是不会去更新视图的,this.setState的原理是同一个队列来实现state的更新的,将需要更新的state放入到状态队 ...

  7. Dorado用法与示例

    Dorado用法与示例 dorado用后总结 一.dorado概念 dorado的产品全名是"dorado展现中间件".从产品形态上dorado由两部分组成,第一部分是一个具有AJ ...

  8. Redux 入门教程(一):基本用法

    一年半前,我写了<React 入门实例教程>,介绍了 React 的基本用法. React 只是 DOM 的一个抽象层,并不是 Web 应用的完整解决方案.有两个方面,它没涉及. 代码结构 ...

  9. 一文搞懂 CountDownLatch 用法和源码!

    点击上方蓝色"方志朋",选择"设为星标" 回复"666"获取独家整理的学习资料! CountDownLatch 是多线程控制的一种工具,它被 ...

最新文章

  1. 电脑的添加删除系统组件使用方法
  2. mysql批量修改http为https,墨涩网 - typecho系统升级全站https数据库批量替换网址/内容——墨涩网...
  3. 1142 Maximal Clique (25 分)【难度: 一般 / 知识点: 模拟】
  4. Python 基本输出
  5. 在Hotspot JVM中跟踪过多的垃圾回收
  6. C++ 内存分配层次以及memory primitives的基本用法
  7. Python深入05 装饰器
  8. 中国电子学会scratch等级考试三级
  9. 腾讯Tiny OS 组合 NB-IoT,值得程序员一试吗?
  10. python3参考手册_Python3 中文手册
  11. asp.net MVC初学体会.
  12. 3DMine安装教程(附详细图文安装步骤)
  13. 【HCIE安全】双机热备-主备备份
  14. 项目管理中的冰山理论
  15. 论文解读——神经网络翻译中的注意力机制 以及 global / local attention
  16. animatext.js文字动画js特效插件
  17. MSXML的不同版本使用
  18. html图片实现左右滑动,css实现图片左右滑动
  19. 道路匹配MapMatching:GPS轨迹点常用聚类算法介绍(K-Means聚类、蚁群算法等)
  20. 微信公众号开发-菜单事件推送

热门文章

  1. css实现彩色渐变滑动条
  2. 侵害消费者权益的农业银行:年内合计被罚没超1亿元,多次上黑榜
  3. 【数据结构】(图解)leetcode刷题之单链表(中)
  4. 基于Python的OpenCV人脸检测
  5. c语言最佳实践之关键字
  6. 100个Java项目解析,带源代码和学习文档!
  7. 最好的 Go 框架:没有框架?
  8. 向量空间 列空间 零空间
  9. Python:恶搞,将你朋友照片做成熊猫人表情包
  10. java计算方差与标准差(均方差)