state

理解:state是组件对象最重要的属性,值是对象(可以包含多个key—value组合)

state中的值可以修改,修改的唯一方法是调用this.setState,每次修改以后,自动调用 this.render 方法,再次渲染组件。(也就是说直接this.state.num=2这样直接修改值是无效的)
state在组件的构造函数中赋值

  class View extends Component{constructor(){super();this.state={num:10}}//state={num:10} 直接做为实例属性也可以}

setState有两种格式

  • 传一个对象

直接修改state的值
因为 this.props 和 this.state 可能会异步更新,所以不能依赖他们的值来更新下一个状态。解决办法让 setState() 接收一个函数

  this.setState({})
  • 传一个函数

接收两个参数preState,props
更新前的state,更新后的props

修改state自身的值(例:state.num+4)

// 传函数的两种写法
// 普通函数this.setState(function(state,props){return {num:state.num--}})
// 箭头函数this.setState((state,props)=>({num:state.num}))

遍历state的值,循环渲染页面

list(){return this.state.lists.map((v,i)=>(<li key={i}>{v}</li>))
}
//直接在dom中渲染即可(因为render会执行两次,所以要进行简单的处理)
<ul>{this.state.lists.length!==0:this.list():'';}</ul>

react中的state详解相关推荐

  1. js路由在php上面使用,React中路由使用详解

    这次给大家带来React中路由使用详解,React中路由使用的注意事项有哪些,下面就是实战案例,一起来看一下. 路由 通过 URL 映射到对应的功能实现,React 的路由使用要先引入 react-r ...

  2. React中使用Vditor详解(自定义图片)

    安装 npm install vditor -s 引用 导入依赖包 import Vditor from "vditor"; 导入样式 import "vditor/sr ...

  3. React中的Hooks详解

    1.概述 React官方网站原文:Hooks 是一项新功能提案,可让您在不编写类的情况下使用 state(状态) 和其他 React 功能. 我总结了下使用Hooks的理由: 1.解决class中的代 ...

  4. React中setState方法详解

    一.为什么要使用 setState 方法,如何用? 在 React 中,组件分为 有状态组件 和 无状态组件,有状态组件就是能够定义 state 的组件,比如类组件,无状态组件反之,比如函数组件.st ...

  5. react中的setState详解

    1.setState更新状态的2种写法 (1). setState(stateChange, [callback])------对象式的setState ​ 1.stateChange为状态改变对象( ...

  6. webpack搭建php服务器,webpack搭建react开发环境步骤详解

    这次给大家带来webpack搭建react开发环境步骤详解,webpack搭建react开发环境的注意事项有哪些,下面就是实战案例,一起来看一下.mkdir react-redux && ...

  7. [Trident] Storm Trident 教程,state详解、trident api详解及实例

    英文原址:https://github.com/nathanmarz/storm/wiki/Trident-tutorial ---------------- Trident是在storm基础上,一个 ...

  8. C语言 -- string.h中函数功能详解与手动实现 - 02(常用函数memcpy、memmove、strcpy、strdup、strcat、strtok...)

    内容预览 3.5.搬迁类型 --- 函数功能详细说明 :将内存空间中内容移动.复制到另一内存空间 3.6.搬迁类型 --- 函数功能测试与手动实现 3.6.1.memcpy.memccpy 3.6.2 ...

  9. linux中mkdir命令含义,Linux中mkdir命令详解

    Linux中mkdir命令详解 linux mkdir用来创建目录,要求创建目录的用户在当前目录中具有写权限,并且指定的目录名不能是当前目录中已有的目录. 1. 新建一个文件夹 one 2. 新建三个 ...

最新文章

  1. 10大机器学习开源项目推荐(Github平均star为1385)
  2. pyqt5 qscrollarea到达_在PYQT5中QscrollArea(滚动条)的使用方法
  3. JUnit报initializationError的解决方法
  4. 初识Anrdiod SDK
  5. 2016年这些网络新贵或被并购
  6. 计算机算法知识总结,移动笔试知识点之--计算机类-数据结构与算法知识点总结.pdf...
  7. HTML5 Canvas游戏开发实战 PDF扫描版
  8. [vue] vue性能的优化的方法有哪些?
  9. mysql 导出数据字典_操作MySQL?这个库比pymysql香一百倍
  10. 【python基础】ValueError: only 2 non-keyword arguments accepte
  11. 021-PHP常用的数值类型判断函数
  12. 进程+协程 计算操作
  13. Hystrix熔断机制原理剖析
  14. figure函数--Matplotlib
  15. shit!Vxworks!Shit!WorkBench!
  16. 基于web的库存管理系统
  17. OTFS调制中的干扰分析
  18. [矩阵论] 谱半径小于1,则I-A可逆
  19. python+大数据之数据可视化完整版
  20. 7. django应用及分布式路由

热门文章

  1. 中职学校计算机应用基础教学初探,中职学校计算机应用基础教学初探
  2. 计算机专业英语宋,机电一体化专业英语宋主民章.pdf
  3. pythonjava解释xml_Python解析XML文档
  4. 中国到底需要多少博士点?
  5. 她穿着由自己17封拒稿信做成的裙子,通过了博士论文答辩!
  6. 太硬核!2亿股万科股票,约53亿元,一次性全部捐给清华,干一件大事!
  7. 上海1.3万座玻璃幕墙建筑“一网统管”
  8. 分页查询抽象出的对象属性(笔记)
  9. java中的接口的定义以及实现关系
  10. 动态卡片:富媒体内容井喷式增长下,新一代移动端动态研发的模式