<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>state</title>
</head>
<body><!-- 准备好一个“容器” --><div id="test"></div><!-- 引入react核心库 --><script type="text/javascript" src="../js/react.development.js"></script><!-- 引入react-dom,用于支持react操作DOM --><script type="text/javascript" src="../js/react-dom.development.js"></script><!-- 引入babel,用于将jsx转为js --><script type="text/javascript" src="../js/babel.min.js"></script><script type="text/babel">//1.创建组件class Weather extends React.Component{//构造器调用几次? ———— 1次constructor(props){console.log('constructor');super(props)//初始化状态this.state = {isHot:false,wind:'微风'}//解决changeWeather中this指向问题this.changeWeather = this.changeWeather.bind(this)}//render调用几次? ———— 1+n次 1是初始化的那次 n是状态更新的次数render(){// console.log(this);console.log('render');//读取状态const {isHot,wind} = this.statereturn <h1 onClick={this.changeWeather}>今天天气很{isHot ? '炎热' : '凉爽'},{wind}</h1>}//changeWeather调用几次? ———— 点几次调几次changeWeather(){//changeWeather放在哪里? ———— Weather的原型对象上,供实例使用//由于changeWeather是作为onClick的回调,所以不是通过实例调用的,是直接调用//类中的方法默认开启了局部的严格模式,所以changeWeather中的this为undefinedconsole.log('changeWeather');//获取原来的isHot值const isHot = this.state.isHot//严重注意:状态必须通过setState进行更新,且更新是一种合并,不是替换。this.setState({isHot:!isHot})console.log(this);//严重注意:状态(state)不可直接更改,下面这行就是直接更改!!!//this.state.isHot = !isHot //这是错误的写法}}//2.渲染组件到页面ReactDOM.render(<Weather/>,document.getElementById('test'))</script>
</body>
</html>

React中构造函数、reader和函数的调用次数和时机测试相关推荐

  1. 如何使 React 中的 useEffect、useLayoutEffect 只调用一次

    如何使 React 中的 useEffect.useLayoutEffect 只调用一次   Hook 是 React 16.8 的新增特性,旨在替代原来 React 中的 Class 组件.Reac ...

  2. 16、react 中的高阶函数和柯里化

    react 中的高阶函数和柯里化 这一篇博文我们说一下 高阶函数 和 柯里化,这两个次可能第一次听说,不知道是啥意思,我们先不管他哈,记得上一篇博客,我们实现了一个登陆的案例是吧?输入用户名和密码,点 ...

  3. python万能装饰器实现计算函数的调用次数和执行时间

    直接上代码 # python万能装饰器实现计算函数的调用次数和执行时间 import timedef set_fun(func):num = 0 # 初始化次数def call_fun(*args, ...

  4. js中构造函数与普通函数的区别

    构造函数不仅只出现在JavaScript中,它同样存在于很多主流的程序语言里,比如c++.Java.PHP等等.与这些主流程序语言一样,构造函数在js中的作业一样,也是用来创建对象时初始化对象,并且总 ...

  5. 派生类中构造函数与虚构函数的研究

    1.继承过程中的构造函数 A:继承与派生过程中,基类的构造函数不能被继承,派生类中需要声明自己的构造函数. B:声明构造函数时,只需要对本类中新增成员进行初始化.至于基类继承过来的成员,应该调用基类的 ...

  6. dojo——AMD(二、AMD中class内部成员函数相互调用实现)

    一.引言 这两天写arcgis javascript代码的时候,自己以为对dojo的amd规范掌握了,可是后来碰到了一个问题,在每个module中成员函数调用另外一个成员函数必须使用this调用(这点 ...

  7. 神经网络模型中class的forward函数何时调用_用Keras从零开始6步骤训练神经网络

    本文将简要介绍Keras的功能特点,使用Keras构建模型一般流程的6个步骤,以及使用Keras处理mnist分类问题的一个简单范例. 一,Keras简介 Keras 是一个用 Python 编写的高 ...

  8. 汽车电子嵌入式技术篇(二) -autosar中的嵌入式系统函数的调用

    1   程序的内存分布 嵌入式系统中,一个函数调用时,它的内部机理是什么,执行了哪些步骤?如图1所示,先看 看 一个程序在运行时,它的内存分布状况.                           ...

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

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

最新文章

  1. [转]你在修佛,还是在修魔
  2. 物联网常用模块_工业级SPI接口WiFi模块WG228助力工业物联网数据传输
  3. PHP语言弹窗图片,PHP_php中随机显示图片的函数代码,例如博客的展示窗 复制代码...
  4. 使用js如何获取treeview控件的当前选中的节点
  5. 对称二叉树(信息学奥赛一本通-T1368)
  6. java springmvc https_【Java Web开发学习】Spring MVC 使用HTTP信息转换器
  7. Android 图片混排富文本编辑器控件
  8. TE和TM主模式的介绍
  9. SecureCRT的logon action登录跳转设置
  10. SQL数据同步到ELK(四)- 利用SQL SERVER Track Data相关功能同步数据(上)
  11. git base cli
  12. 程序员的恶性循环:加班-没空学习-老是写同等水平代码-无法提升代码质量-老是出BUG-老是需要修改-加班-......
  13. E-Prime 软件中常用的 inline 语句
  14. VC 获取IE版本号
  15. pentaho mysql_pentaho5.0.1将数据库移植成mysql
  16. background-size属性详解
  17. C和指针知识点梳理一
  18. AE484 3D大气电影风格LOGO视频片头爆炸烟雾粒子碎片特效动画制作ae模板
  19. tekla16.0刷号程序
  20. C#---- VS 打包成 exe.

热门文章

  1. Linux 用户和组
  2. 大话数据结构学习笔记一:第一章
  3. C - Digital Path 计蒜客 - 42397 05-29
  4. 2020牛客国庆集训派对day2 AKU NEGARAKU
  5. 牛客网【每日一题】4月21日题目精讲 糖糖别胡说,我真的不是签到题目
  6. 【无码专区11】异或2(结论 / 推式子 + 哈希hash + 大整数高精度 加减乘除重载考察)
  7. P4317-花神的数论题【组合数学】
  8. P4083-[USACO17DEC]A Pie for a Pie G【线段树,最短路】
  9. P6772-[NOI2020]美食家【矩阵乘法,倍增】
  10. jzoj6296-投票【期望dp,贪心】