React改变数据【案例】

news2024/9/22 10:37:27

State传统方式

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>React Demo</title>  
  <!-- 引入React -->  
  <script src="https://unpkg.com/react@17/umd/react.development.js" crossorigin></script>  
  <!-- 引入ReactDOM -->  
  <script src="https://unpkg.com/react-dom@17/umd/react-dom.development.js" crossorigin></script>  
  <!-- 引入Babel用于转换JSX(如果你不是通过构建工具如Webpack来转换的话) -->  
  <script src="https://unpkg.com/@babel/standalone/babel.min.js"></script>  
</head>
<body>
  <div id="test"></div> 
  <script  type="text/babel">
   class Weather extends React.Component{
    
    constructor(props) {
      super(props)
      // 初始化状态
      this.state={isHot:false}
      this.changeWrather = this.changeWrather.bind(this)
    }
    render() {
      // 读取状态
      const {isHot} = this.state
      return <h1 onClick={this.changeWrather}>今天天气很{isHot?'炎热':'凉爽'}</h1>
    }
    changeWrather() {
      // 获取原来的isHot
      const isHot = this.state.isHot
      // 注意:状态必须通过setState进行更新 状态state不可直接更改
      this.setState({isHot:!isHot})
    }
   }
    // 渲染
    ReactDOM.render(<Weather/>,document.getElementById('test'))

</script>
</body>
</html>

在这里插入图片描述
State简写方式(推荐)

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>React Demo</title>  
  <!-- 引入React -->  
  <script src="https://unpkg.com/react@17/umd/react.development.js" crossorigin></script>  
  <!-- 引入ReactDOM -->  
  <script src="https://unpkg.com/react-dom@17/umd/react-dom.development.js" crossorigin></script>  
  <!-- 引入Babel用于转换JSX(如果你不是通过构建工具如Webpack来转换的话) -->  
  <script src="https://unpkg.com/@babel/standalone/babel.min.js"></script>  
</head>
<body>
  <div id="test"></div> 
  <script  type="text/babel">
    //创建组件
   class Weather extends React.Component{
  // 初始化状态
    state={isHot:false}
    render() {
      // 读取状态
      const {isHot} = this.state
      return <h1 onClick={this.changeWrather}>今天天气很{isHot?'炎热':'凉爽'}</h1>
    }
    // 自定义方法
    changeWrather=() =>{
      // 获取原来的isHot
      const isHot = this.state.isHot
      // 注意:状态必须通过setState进行更新 状态state不可直接更改
      this.setState({isHot:!isHot})
    }
   }
    // 渲染
    ReactDOM.render(<Weather/>,document.getElementById('test'))
</script>
</body>
</html>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1502972.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

专业的项目管理系统,企智汇!帮助企业提高项目管理效率!

一款专业的项目管理系统&#xff0c;是企智汇项目管理系统&#xff01;企智汇专业做项目管理系统10年&#xff0c;经过10年的打磨&#xff0c;有成熟的项目管理系统功能&#xff0c;它面向各个企业的项目团队&#xff0c;提供数字化、智能化、信息化的项目管理功能&#xff0c;…

【亲测有效】解决三月八号ChatGPT 发消息无响应!

背景 今天忽然发现 ChatGPT 无法发送消息&#xff0c;能查看历史对话&#xff0c;但是无法发送消息。 可能的原因 出现这个问题的各位&#xff0c;应该都是点击登录后顶部弹窗邀请 [加入多语言 alapha 测试] 了&#xff0c;并且语言选择了中文&#xff0c;抓包看到 ab.chatg…

工作合同坑

1-不要给证件原件&#xff0c;给复印件&#xff0c;并写明用处 。 2-正式入职才填写详细的个人信息 3-入职的各种相关费用需要谨慎&#xff0c;注意是否合法正规 4-招转培是个坑 5-无薪试岗&#xff0c;滚 6-试用期工资不能低于转正之后的80%&#xff0c;一定要有纸质的正式工资…

LayerNorm的图是不是画错了

这是网上一张很流行的说明几个 Normalization 区别的图 这图出自Kaiming的文章 Group Norm 但是他这个 Layer Norm 的图是不是画错了? 我大四写毕设的时候就想问&#x1f923;&#x1f923;&#x1f923; 这都几年过去了 我觉得图应该是这样画的&#xff0c;相同颜色的区域…

使用docker-compose编排ruoyi项目

目录 一、开始部署 1.拉取ruoyi代码 2.拉取node镜像 3.拉取maven镜像 4.在/root/ruoyi/java下写一个Dockerfile用于后端Java环境 5.拉取MySQL&#xff0c;Redis&#xff0c;Nginx镜像 6.在/root/java目录下写一个nginx.conf 7.在/root/ruoyi目录下写docker-compose.yml文…

计算机网络——计算机网络的性能

计算机网络——计算机网络的性能 速率带宽吞吐量时延时延宽带积往返时间RTT利用率信道利用率网络利用率 我们今天来看看计算机网络的性能。 速率 速率这个很简单&#xff0c;就是数据的传送速率&#xff0c;也称为数据率&#xff0c;或者比特率&#xff0c;单位为bit/s&#…

Spring boot 请求参数包含[]等特殊字符,导致无法接收问题

前言对字符进行转义修改tomcat 配置 前言 Spring boot 请求参数包含[]等特殊字符&#xff0c;导致无法接收问题 对字符进行转义 中括号[] 必须用%5B%5D转义&#xff0c;否则tomcat无法解析&#xff0c;回抛出不合法字符异常&#xff0c;不会进入控制器 修改tomcat 配置 p…

JavaEE企业开发新技术

目录 2.1 Class对象基本概念 1、概念 2.2 Class对象的获取方式 2.3基本数据类型的Class对象 1、概念 2.4 反射的基本概念 概念 2.5 Class对象的基本使用-1 2.6 Class对象的基本使用-2 newInstance()和new()区别&#xff1a; 2.1 Class对象基本概念 1、概念 反射的…

【字符串】【贪心】【 树状数组】2193. 得到回文串的最少操作次数

作者推荐 视频算法专题 本文涉及知识点 字符串 贪心 树状数组 分类讨论 LeetCode2193. 得到回文串的最少操作次数 给你一个只包含小写英文字母的字符串 s 。 每一次 操作 &#xff0c;你可以选择 s 中两个 相邻 的字符&#xff0c;并将它们交换。 请你返回将 s 变成回文串…

Qt5.14.2揭秘Qt与SSL/TLS的完美邂逅:打造坚不可摧的网络安全防线

引言&#xff1a; 在数字化时代&#xff0c;数据安全是每个开发者和用户都不可忽视的问题。Qt&#xff0c;作为一个强大的跨平台开发框架&#xff0c;为我们提供了丰富的网络功能&#xff0c;其中就包括了对SSL/TLS加密通信的支持。本文将带你深入了解如何在Qt中实现SSL证书认证…

【力扣白嫖日记】1174.即时食物配送II

前言 练习sql语句&#xff0c;所有题目来自于力扣&#xff08;https://leetcode.cn/problemset/database/&#xff09;的免费数据库练习题。 今日题目&#xff1a; 1174.即时食物配送II 表&#xff1a;Person 列名类型delivery_idintcustomer_idintorder_datedatecustomer_…

C# winform 重启电脑

一、重启电脑指令 windows7系统的启动文件夹为“开始菜单”——“所有程序”里面就有“启动”文件夹&#xff0c;其位置是 “C:\Users\Administrator\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup” 如果没有&#xff0c;则需要将其中的"administrator…

PHP storm连接阿里云服务器

阿里云开放端口 &#xff1a;1024/65535 然后宝塔 FTP 设置账户密码 和开放的文件目录 SFTP &#xff1a;账号root 密码&#xff1a;阿里云设置的密码

什么是MAE和MSE?

平均绝对误差&#xff08;Mean Absolute Error&#xff0c;MAE&#xff09;和平均方差误差&#xff08;Mean Squared Error&#xff0c;MSE&#xff09;是常用的评价回归模型性能的指标。它们用于衡量模型预测值与真实值之间的差异。 在深度学习领域&#xff0c;MAE 和 MSE 是…

Centos7安装Gogs完整教程

前言 本文章讲的是如何在Centos7下安装git服务器Gogs&#xff0c;本文参考了网络上的文章和官方文档。根据本文来操作可以完美安装Gogs&#xff0c;如果有其他问题或者看法&#xff0c;可以在评论区留下你的问题或看法。如果觉得本文对你有用&#xff0c;还请点赞和收藏一下。…

【新书推荐】17.3 字符串操作举例

本节内容&#xff1a;字符串操作举例。 ■例3&#xff1a;接收字符串去掉空格后逆向输出&#xff0c;t17-3.asm。 ■例4&#xff1a;字符串拼接&#xff0c;t17-4.asm。 ■例5&#xff1a;判断子串&#xff0c;t17-5.asm。 17.3.1 例3&#xff1a;接收字符串去掉空格后逆向输出…

【正点原子STM32探索者】CubeMX+Keil开发环境搭建

文章目录 一、简单开箱二、资料下载三、环境搭建3.1 安装Keil MDK3.2 激活Keil MDK3.3 安装STM32CubeMX3.4 安装STM32F4系列MCU的Keil支持包 四、GPIO点灯4.1 查阅开发板原理图4.2 创建STM32CubeMX项目4.3 配置系统时钟和引脚功能4.4 生成Keil项目4.5 打开Keil项目4.6 编译Keil…

回收站选址(CCF 201912-2)解题思路

分析 把x,y坐标拼接成一个字符串&#xff08;x,y&#xff09;作为Set的key&#xff0c;保存到Set中&#xff0c;遍历Set&#xff0c;取出坐标&#xff0c;然后判断上下左右四个点是否在Set中&#xff0c;如果在&#xff0c;进而判断&#xff0c;四个角是否在Set中&#xff0c;…

git学习(创建项目提交代码)

目录 操作步骤如下 1.创建项目 2.初始化项目 3.初始化项目 4.创建一个文本文件将其推送到远程仓库 5.添加到暂存区 查看提交状态 git push 返送到暂存区 git statues 7.提交 8. 返回远程仓库检查是否上传成功 操作步骤如下 git init //初始化git remote add origin ht…

《C缺陷和陷阱》-笔记(2)

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 目录 文章目录 前言 一、理解函数声明 1.(*(void(*)( ))0)( ); 2.signal 函数接受两个参数&#xff1a; 3.使用typedef 简化函数声明&#xff1a; 二、运算符的优先级…