当前位置: 首页 > news >正文

react 的学习随记

npx create-react-app my-app  创建一个名叫my-app的react的项目

npm run eject  运行 显示config 文件夹

react  jsx (使用时将babel 将jsx转为js)

单页面时需要引用

1,样式(在虚拟dom时)

  1. 引用样式时 用className=‘’

  2,引用js样式时 用{}

 3,内联样式使用 需要用{{}}

 4,虚拟dom 只有一个根标签

2,循环遍历时

虚拟dom  只能加载js表达式

(index 做key 可能出现问题)

 3,模块 
  1.函数式组件  

 一个字母必须大写  必须闭合

babel 开启严格模式 这里的this 为undefined

类的基本知识 

call 改this的指向 还有几个

正确

2,继承类

super 继承  必须在最前面

 子类调用父类的方法

 2,类式组件

a类继承b (a 类继承b类  前面是a 后面是b)

必须继承react 必须有render 

4,类身上state

5,原生事件点击按钮的方式   react的点击 推荐原生的第三种

但是react 中使用使 都用大写  onClick  针对所有的on 事件都是

并且使用时用{}  后面不能加()

点击 改变state时

这样才有this

这个时候this.state .ishohot改变他的数值  但是页面数据无效(state状态无法直接更改)

如果要修改数据就用this.setState({})

 他们分别调用次数

代码精简

使用props传参 动态
基本使用

 传多个参数  展开运算符

 基于原生  ... 展开运算符不能展开对象

sum 求和 reduce     展开数组时

不能直接...  对象  只能{...arr}  相当于复制

 

 但是react 传参时可以使用

 props修改

 props限制  对默认值 和必传值

引入proptypes

 

下面是限制传参  (例如限制必穿string 和 isrequired 必填)

默认值:defaultprops,,默认值

 传函数限制函数   

 props 只读的  不允许改

在简写  写到类里面

 函数子组件  只能使用props

 测试

 老的使用方法  不介意使用  或 (ref)使  或换成id=

现在用回调ref 或者内联或类的绑定函数

非受控组件

原生表单   (表单中输入类的demo 现用现取叫非受控组件)

受控组件 

输入类的dome 将数据保存在state 的状态里  用的时候从state里面取

高阶函数和柯里化

加个retrun   这样能接收传参

存储的的时候 要用【】  这是savefromdata 是高阶函数

不用柯里化的使用

生命周期

点击卸载demo

进来就调用

生命周期 componentDidMount (组件加载后加载)  只调一次  200毫秒一次 慢慢变淡

点击 不活了 按钮 卸载了之后   定时器不会停止 

1, 所以点击卸载的时候清空定时器

 2, 第二种方式 在组件将要被卸载的时候调用

componentWillUnmount(){}

 

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • CM工作室发展史 上
  • 谷歌登录的时候,要求在手机的通知点是,并按数字来验证身份,但是手机通知栏没有收到通知和数字,原因是什么,怎么办?
  • Deepin【2】:Deepin系统盘扩容
  • JavaScript 动画库
  • nodejs搭建代理服务器解决跨域问题
  • 嵌入式人工智能ESP32(6-多线程)
  • Python | Leetcode Python题解之第367题有效的完全平方数
  • 为什么互联网上要设立防火墙?WAF又是什么?
  • Unity实现棋盘方格
  • 如何快速建30个文件夹
  • 【给女朋友讲C++】C++的编译
  • [数据集][目标检测]停车场空位检测数据集VOC+YOLO格式7959张2类别
  • 【mysql】mysql的卸载和安装
  • 【区块链 + 智慧文旅】城商行旅游金融联盟:旅游金融联盟平台 | FISCO BCOS应用案例
  • 知识图谱问答召回机制-llm-graph-builder
  • 【技术性】Search知识
  • js递归,无限分级树形折叠菜单
  • JS进阶 - JS 、JS-Web-API与DOM、BOM
  • Linux学习笔记6-使用fdisk进行磁盘管理
  • pdf文件如何在线转换为jpg图片
  • Spring Cloud Alibaba迁移指南(一):一行代码从 Hystrix 迁移到 Sentinel
  • sublime配置文件
  • 阿里云ubuntu14.04 Nginx反向代理Nodejs
  • 给Prometheus造假数据的方法
  • 前端攻城师
  • 前端临床手札——文件上传
  • ​1:1公有云能力整体输出,腾讯云“七剑”下云端
  • ​LeetCode解法汇总2670. 找出不同元素数目差数组
  • ​探讨元宇宙和VR虚拟现实之间的区别​
  • # 20155222 2016-2017-2 《Java程序设计》第5周学习总结
  • # 消息中间件 RocketMQ 高级功能和源码分析(七)
  • #include到底该写在哪
  • (10)ATF MMU转换表
  • (day18) leetcode 204.计数质数
  • (vue)el-cascader级联选择器按勾选的顺序传值,摆脱层级约束
  • (二)测试工具
  • (非本人原创)史记·柴静列传(r4笔记第65天)
  • (附源码)springboot金融新闻信息服务系统 毕业设计651450
  • (附源码)计算机毕业设计ssm基于Internet快递柜管理系统
  • (牛客腾讯思维编程题)编码编码分组打印下标题目分析
  • (全注解开发)学习Spring-MVC的第三天
  • (十五)Flask覆写wsgi_app函数实现自定义中间件
  • (转)Sql Server 保留几位小数的两种做法
  • .gitattributes 文件
  • .net core 调用c dll_用C++生成一个简单的DLL文件VS2008
  • .net oracle 连接超时_Mysql连接数据库异常汇总【必收藏】
  • .Net开发笔记(二十)创建一个需要授权的第三方组件
  • .NET平台开源项目速览(15)文档数据库RavenDB-介绍与初体验
  • .NET使用HttpClient以multipart/form-data形式post上传文件及其相关参数
  • .NET周刊【7月第4期 2024-07-28】
  • @vue/cli 3.x+引入jQuery
  • [ 隧道技术 ] 反弹shell的集中常见方式(二)bash反弹shell
  • [].slice.call()将类数组转化为真正的数组
  • [AIGC] Kong:一个强大的 API 网关和服务平台
  • [BeginCTF]真龙之力