位置: IT常识 - 正文

React入门笔记(react 入门)

编辑:rootadmin
React入门笔记 1、React入门<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <script src="https://unpkg.com/react@17/umd/react.development.js"></script> <script src="https://unpkg.com/react-dom@17/umd/react-dom.development.js"></script> <script src="https://unpkg.com/babel-standalone@6/babel.min.js"></script> <title>Document</title></head><body> <div id="app"></div> <script type="text/babel"> ReactDOM.render( <h1>hello world2</h1>, document.getElementById('app') ) </script></body></html>2、JSX语法<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <script src="https://unpkg.com/react@17/umd/react.development.js"></script> <script src="https://unpkg.com/react-dom@17/umd/react-dom.development.js"></script> <script src="https://unpkg.com/babel-standalone@6/babel.min.js"></script> <title>Document</title></head><body> <div id="app"></div> <script type="text/babel"> let a = '变量a' ReactDOM.render( <h1 className="h1">{a}</h1>, document.getElementById('app') ) </script></body></html>3、元素渲染<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <script src="https://unpkg.com/react@17/umd/react.development.js"></script> <script src="https://unpkg.com/react-dom@17/umd/react-dom.development.js"></script> <script src="https://unpkg.com/babel-standalone@6/babel.min.js"></script> <title>Document</title></head><style> .red{ color: red; }</style><body> <div id="app"></div> <script type="text/babel"> function test(){ //只会渲染变动的地方,而不会像js操作dom一样全部修改 let time = new Date().toLocaleTimeString() let template = <div> <h1 className="red">现在时间是</h1> <h2> {time} </h2> </div> ReactDOM.render( template, document.getElementById('app') ) } setInterval(test,1000) </script></body></html>4、组件和props传值<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <script src="https://unpkg.com/react@17/umd/react.development.js"></script> <script src="https://unpkg.com/react-dom@17/umd/react-dom.development.js"></script> <script src="https://unpkg.com/babel-standalone@6/babel.min.js"></script> <title>Document</title></head><body> <!-- React中的组件分为:无状态组件(函数式组件)和有状态组件(React.Component) 无状态组件:直接定义函数的形式,不存在state,只会有props,它没有生命周期 有状态组件:使用class定义,extend继承,由state进行数据的存储和管理,同时还可以有props,有生命周期 传值的时候有状态组件取用的是this.state.属性或者是this.props.属性 无状态组件的话使用的是props.属性 --></body></html>5、函数式组件<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <script src="https://unpkg.com/react@17/umd/react.development.js"></script> <script src="https://unpkg.com/react-dom@17/umd/react-dom.development.js"></script> <script src="https://unpkg.com/babel-standalone@6/babel.min.js"></script> <title>Document</title></head><body> <!-- React中的组件分为:无状态组件(函数式组件)和有状态组件(React.Component) 无状态组件:直接定义函数的形式,不存在state,只会有props,它没有生命周期 有状态组件:使用class定义,extend继承,由state进行数据的存储和管理,同时还可以有props,有生命周期 传值的时候有状态组件取用的是this.state.属性或者是this.props.属性 无状态组件的话使用的是props.属性 --> <div id="app1"></div> <script type="text/babel"> // 函数式组件 // function Hello(){ // return <h1>Hello World</h1> // } //多个元素一定要记得写根元素 function Hello(){ return <div> <h1>Hello World</h1> <h1>Hello World</h1> <h1>Hello World</h1> </div> } ReactDOM.render( <Hello/>, document.getElementById('app1') ) </script></body></html>6、函数是组件和props传值<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <script src="https://unpkg.com/react@17/umd/react.development.js"></script> <script src="https://unpkg.com/react-dom@17/umd/react-dom.development.js"></script> <script src="https://unpkg.com/babel-standalone@6/babel.min.js"></script> <title>Document</title></head><body> <!-- React中的组件分为:无状态组件(函数式组件)和有状态组件(React.Component) 无状态组件:直接定义函数的形式,不存在state,只会有props,它没有生命周期 有状态组件:使用class定义,extend继承,由state进行数据的存储和管理,同时还可以有props,有生命周期 传值的时候有状态组件取用的是this.state.属性或者是this.props.属性 无状态组件的话使用的是props.属性 --> <div id="app1"></div> <script type="text/babel"> // 函数式组件 // function Hello(){ // return <h1>Hello World</h1> // } //多个元素一定要记得写根元素 function Temp(props){ return <div> <h1>函数式组件,使用props传值</h1> <h1>姓名:{props.name}</h1> <h1>年龄: {props.age}</h1> </div> } ReactDOM.render( <Temp name='小明' age='18'/>, document.getElementById('app1') ) </script></body></html>7、有状态组件<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <script src="https://unpkg.com/react@17/umd/react.development.js"></script> <script src="https://unpkg.com/react-dom@17/umd/react-dom.development.js"></script> <script src="https://unpkg.com/babel-standalone@6/babel.min.js"></script> <title>Document</title></head><body> <!-- React中的组件分为:无状态组件(函数式组件)和有状态组件(React.Component) 无状态组件:直接定义函数的形式,不存在state,只会有props,它没有生命周期 有状态组件:使用class定义,extend继承,由state进行数据的存储和管理,同时还可以有props,有生命周期 传值的时候有状态组件取用的是this.state.属性或者是this.props.属性 无状态组件的话使用的是props.属性 --> <div id="root"></div> <script type="text/babel"> class Hello extends React.Component{ render(){ return <h1>Hello World</h1> } } ReactDOM.render( <Hello />, document.getElementById('root') ) </script></body></html>8、有状态组件props<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <script src="https://unpkg.com/react@17/umd/react.development.js"></script> <script src="https://unpkg.com/react-dom@17/umd/react-dom.development.js"></script> <script src="https://unpkg.com/babel-standalone@6/babel.min.js"></script> <title>Document</title></head><body> <!-- React中的组件分为:无状态组件(函数式组件)和有状态组件(React.Component) 无状态组件:直接定义函数的形式,不存在state,只会有props,它没有生命周期 有状态组件:使用class定义,extend继承,由state进行数据的存储和管理,同时还可以有props,有生命周期 传值的时候有状态组件取用的是this.state.属性或者是this.props.属性 无状态组件的话使用的是props.属性 --> <div id="root"></div> <script type="text/babel"> class Hello extends React.Component{ render(){ return <div> <h1>Hello World</h1> <p>姓名:{this.props.name}</p> <p>性别:{this.props.age}</p> </div> } } ReactDOM.render( <Hello age="18" name="小明"/>, document.getElementById('root') ) </script></body></html>9、事件处理<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <script src="https://unpkg.com/react@17/umd/react.development.js"></script> <script src="https://unpkg.com/react-dom@17/umd/react-dom.development.js"></script> <script src="https://unpkg.com/babel-standalone@6/babel.min.js"></script> <title>Document</title></head><body> <!-- React中的组件分为:无状态组件(函数式组件)和有状态组件(React.Component) 无状态组件:直接定义函数的形式,不存在state,只会有props,它没有生命周期 有状态组件:使用class定义,extend继承,由state进行数据的存储和管理,同时还可以有props,有生命周期 传值的时候有状态组件取用的是this.state.属性或者是this.props.属性 无状态组件的话使用的是props.属性 --> <div id="root"></div> <script type="text/babel"> class Hello extends React.Component{ constructor(props){ super(props) this.state = { name: "小李", age: 18 } } updateInfor = ()=>{ this.setState({ name: 'hello', age: 13 }) } render(){ return <div> <h1>Hello World</h1> <p>姓名:{this.state.name}</p> <p>性别:{this.state.age}</p> <button onClick={this.updateInfor}>更新数据</button> </div> } } ReactDOM.render( <Hello/>, document.getElementById('root') ) </script></body></html>10、事件处理this详解<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <script src="https://unpkg.com/react@17/umd/react.development.js"></script> <script src="https://unpkg.com/react-dom@17/umd/react-dom.development.js"></script> <script src="https://unpkg.com/babel-standalone@6/babel.min.js"></script> <title>Document</title></head><body> <!-- React中的组件分为:无状态组件(函数式组件)和有状态组件(React.Component) 无状态组件:直接定义函数的形式,不存在state,只会有props,它没有生命周期 有状态组件:使用class定义,extend继承,由state进行数据的存储和管理,同时还可以有props,有生命周期 传值的时候有状态组件取用的是this.state.属性或者是this.props.属性 无状态组件的话使用的是props.属性 --> <div id="root"></div> <script type="text/babel"> class Hello extends React.Component{ constructor(props){ super(props) this.state = { name: "小李", age: 18 } this.updateInfor1 = this.updateInfor1.bind(this) } updateInfor = ()=>{ this.setState({ name: 'hello', age: 13 }) } updateInfor1(){ this.setState({ name: 'hello', age: 13 }) } updateInfor2(){ this.setState({ name: 'hello', age: 13 }) } render(){ return <div> <h1>Hello World</h1> <p>姓名:{this.state.name}</p> <p>性别:{this.state.age}</p> {/* <button onClick={this.updateInfor}>更新数据</button> */} <button onClick={this.updateInfor1}>更新数据</button> <button onClick={this.updateInfor2.bind(this)}>更新数据</button> </div> } } ReactDOM.render( <Hello/>, document.getElementById('root') ) </script></body></html>11、列表渲染<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <script src="https://unpkg.com/react@17/umd/react.development.js"></script> <script src="https://unpkg.com/react-dom@17/umd/react-dom.development.js"></script> <script src="https://unpkg.com/babel-standalone@6/babel.min.js"></script> <title>Document</title></head><body> <!-- React中的组件分为:无状态组件(函数式组件)和有状态组件(React.Component) 无状态组件:直接定义函数的形式,不存在state,只会有props,它没有生命周期 有状态组件:使用class定义,extend继承,由state进行数据的存储和管理,同时还可以有props,有生命周期 传值的时候有状态组件取用的是this.state.属性或者是this.props.属性 无状态组件的话使用的是props.属性 --> <div id="root"></div> <script type="text/babel"> class Hello extends React.Component{ state = { list: [1,2,3,4,5] } render(){ const arr = this.state.list const lists = [] arr.forEach(i=>{ let li = <li> {arr[i-1]} </li> lists.push(li) }) return <div> <ul> {lists} </ul> </div> } } ReactDOM.render( <Hello/>, document.getElementById('root') ) </script></body></html>12、循环需要key<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <script src="https://unpkg.com/react@17/umd/react.development.js"></script> <script src="https://unpkg.com/react-dom@17/umd/react-dom.development.js"></script> <script src="https://unpkg.com/babel-standalone@6/babel.min.js"></script> <title>Document</title></head><body> <!-- React中的组件分为:无状态组件(函数式组件)和有状态组件(React.Component) 无状态组件:直接定义函数的形式,不存在state,只会有props,它没有生命周期 有状态组件:使用class定义,extend继承,由state进行数据的存储和管理,同时还可以有props,有生命周期 传值的时候有状态组件取用的是this.state.属性或者是this.props.属性 无状态组件的话使用的是props.属性 --> <div id="root"></div> <script type="text/babel"> class Hello extends React.Component{ state = { list: [1,2,3,4,5] } render(){ const arr = this.state.list const lists = [] arr.map((item, index)=>{ let li = <li key={index}> {item} </li> lists.push(li) }) return <div> <ul> {lists} </ul> </div> } } ReactDOM.render( <Hello/>, document.getElementById('root') ) </script></body></html>13、条件处理1<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <script src="https://unpkg.com/react@17/umd/react.development.js"></script> <script src="https://unpkg.com/react-dom@17/umd/react-dom.development.js"></script> <script src="https://unpkg.com/babel-standalone@6/babel.min.js"></script> <title>Document</title></head><body> <!-- React中的组件分为:无状态组件(函数式组件)和有状态组件(React.Component) 无状态组件:直接定义函数的形式,不存在state,只会有props,它没有生命周期 有状态组件:使用class定义,extend继承,由state进行数据的存储和管理,同时还可以有props,有生命周期 传值的时候有状态组件取用的是this.state.属性或者是this.props.属性 无状态组件的话使用的是props.属性 --> <div id="root"></div> <script type="text/babel"> function Login(){ return <button> Login </button> } function Logout(){ return <button> Logout </button> } class Hello extends React.Component{ state = { isLogin:true } render(){ const isLogin = this.state.isLogin let button if(isLogin){ button = Logout() }else{ button = Login() } return <div> {button} </div> } } ReactDOM.render( <Hello/>, document.getElementById('root') ) </script></body></html>14、条件处理2<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <script src="https://unpkg.com/react@17/umd/react.development.js"></script> <script src="https://unpkg.com/react-dom@17/umd/react-dom.development.js"></script> <script src="https://unpkg.com/babel-standalone@6/babel.min.js"></script> <title>Document</title></head><body> <!-- React中的组件分为:无状态组件(函数式组件)和有状态组件(React.Component) 无状态组件:直接定义函数的形式,不存在state,只会有props,它没有生命周期 有状态组件:使用class定义,extend继承,由state进行数据的存储和管理,同时还可以有props,有生命周期 传值的时候有状态组件取用的是this.state.属性或者是this.props.属性 无状态组件的话使用的是props.属性 --> <div id="root"></div> <script type="text/babel"> function Login(){ return <button> Login </button> } function Logout(){ return <button> Logout </button> } class Hello extends React.Component{ state = { isLogin:true } render(){ const {isLogin} = this.state let button return <div> {isLogin ? <Login/> : <Logout/>} </div> } } ReactDOM.render( <Hello/>, document.getElementById('root') ) </script></body></html>15、条件处理和事件处理组合<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <script src="https://unpkg.com/react@17/umd/react.development.js"></script> <script src="https://unpkg.com/react-dom@17/umd/react-dom.development.js"></script> <script src="https://unpkg.com/babel-standalone@6/babel.min.js"></script> <title>Document</title></head><body> <!-- React中的组件分为:无状态组件(函数式组件)和有状态组件(React.Component) 无状态组件:直接定义函数的形式,不存在state,只会有props,它没有生命周期 有状态组件:使用class定义,extend继承,由state进行数据的存储和管理,同时还可以有props,有生命周期 传值的时候有状态组件取用的是this.state.属性或者是this.props.属性 无状态组件的话使用的是props.属性 --> <div id="root"></div> <script type="text/babel"> function Login(){ return <button> Login </button> } function Logout(){ return <button> Logout </button> } class Hello extends React.Component{ state = { isLogin:false } updataInfo = ()=>{ this.setState({ isLogin:!this.state.isLogin }) } render(){ const {isLogin} = this.state let button return <div> {isLogin ? <Login/> : <Logout/>} <button onClick={this.updataInfo}>更新数据</button> </div> } } ReactDOM.render( <Hello/>, document.getElementById('root') ) </script></body></html>
本文链接地址:https://www.jiuchutong.com/zhishi/300193.html 转载请保留说明!

上一篇:Redis高频面试题汇总(上)(redis面试必会6题经典)

下一篇:WEB核心【会话技术】第十五章(web2.0核心)

  • 物业公司要交税吗?
  • 工程款税率是多少专票
  • 开具红字专用发票的条件
  • 研发设备可以一次性扣除吗
  • 投资子公司亏损如何入账
  • 固定资产清理属于什么科目
  • 房地产企业购入用于建造商品房的土地使用权
  • 企业的党员活动有哪些
  • 增值税一般纳税人证明文件
  • 资产负债表的应付职工薪酬怎么填
  • 固定资产抵扣新政策2022
  • 公司牌车还款从哪里扣款
  • 工会账户销户划拨流程
  • 技术转让收入是指当事人履行
  • 对方已经认证的发票怎么作废
  • 一个公司两个纳税人识别号
  • 应征增值税不含税销售额(3%征收率)怎么算
  • 关于保安员服务内容主要包括
  • 案例分析关于团员青年的思想困惑疏导和成长问题释疑
  • 个税当月计提还是下月
  • 无偿取得土地使用权的会计分录
  • 水利基金免税额度是多少
  • 无票收入报税后,后期又开票出去怎么处理?
  • 实际发生坏账的账务处理分录
  • 房地产开发企业的土地使用权计入哪里
  • 企业报表里面利润怎么填
  • 微小企业每个季度减免多少税
  • 技术服务费增值税可以抵扣吗
  • 如何查看windows密钥时间
  • windows11怎么设置默认应用
  • 怎么做才能让电脑里自动翻译成中文
  • kb4592438安装失败
  • 小米无线路由器internet黄灯
  • 房地产业务招待费
  • 增值税按简易计价方式
  • 对外支付企业所得税计税依据
  • 解决方案啥意思
  • 免税需要什么条件
  • 详解php处理字符的方法
  • 税控盘和金税盘的功能一样吗
  • opencv训练模型教程
  • 前端面试题什么是网络协议
  • 营业执照贴印花税票吗
  • 贷款需要考虑什么
  • 公司购买理财产品
  • 临时设施账务处理分录
  • 待摊费用新准则解读
  • 无形资产摊销是当月增加当月摊销吗
  • sqlserver去掉字符串内的指定字符
  • 交加盟费送赠品可以吗
  • 坏账准备?
  • 未认证进项税额会计分录
  • 减免增值税记账
  • 社会团体收到财政拨款
  • 对公账户往来款需要开票吗
  • 银行存款日记账怎么记账
  • 理财中的非保本是什么意思
  • 月报怎么填
  • 企业试生产时间规定
  • 托收承付的承付是指
  • 公司怎么变更公司名称
  • windows7如何设置电脑休眠时间
  • win8更新win8.1
  • ubuntu调出命令行
  • rhel7.5重置密码
  • 电脑待机状态下载会继续吗
  • win8系统怎么清理缓存
  • mac u 盘启动
  • 重装win7系统后鼠标键盘不能用
  • win10系统光驱
  • Unity3D Editor类(Inspector) 编写经验总结
  • portainer集群管理
  • Bullet(cocos2dx)学习制作桌球游戏之前期准备
  • angular的ngif
  • js异步编程的四种方法
  • javascript中的对象用于
  • 彩票税率税率
  • 广东省电子税务局官网登录入口
  • 开票税额超出1万怎么办
  • 天津市各区国税局待遇一样吗?
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设