位置: 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核心)

  • 应预缴税款如何计算?
  • 所得税的会计分录有哪些
  • 收到幼儿园园服费怎么做财务处理?
  • 金税盘是每天有5次机会吗
  • 补贴收入是否缴税
  • 招待客人的住宿费能抵扣吗?
  • 净利润为什么要减折旧
  • 总公司一般纳税多少
  • 购房契税应该交给谁
  • 一次性加速折旧汇算清缴调增吗
  • 三栏式明细账适用于哪些账簿
  • 新成立公司没有财务报表情况说明
  • 专票怎么提交不上去
  • 关联业务报告表需要填吗
  • 哪些开普通发票
  • 营改增后一般纳税人动产租赁税率
  • 小规模核定征收税率
  • 一般纳税人注销库存需要补交税吗
  • 浙江印花税税率
  • 机动车销售发票如何认证抵扣?
  • 跨年的物业费如何记账
  • w10系统程序停止运行
  • 以前年度应收账款错误如何调整
  • 付出去的款项退回的会计分录如何做
  • 三星电脑安装系统按哪个键
  • 2022年最新cpu天梯图手机
  • php抽奖算法程序怎么写
  • win11笔记本如何让电池充电到100%
  • 微信小程序实现发红包
  • 腾达ac9路由器怎么样
  • 支付代销手续费缴纳增值税吗
  • 报废汽车残值收入的商品编码编码
  • win7旗舰版叫啥
  • 问题解决能力
  • 宾馆一次性用品有哪些
  • 发票已认证当月未申报怎么办
  • 对股权奖励的计算公式
  • Element-UI--<el-switch>的@change回调函数的参数用法
  • 一次补发工资怎么算
  • 招聘下岗职工一名
  • sortable js
  • linux vimdiff命令
  • phpipam安装
  • Qt Port of WebKit ¶
  • 员工出差预借差旅费属于
  • 交易性金融资产入账价值怎么计算
  • 停车费不动产租赁税率
  • 买房返现是什么意思
  • 房地产销售老项目增值税
  • 小规模出售固定资产账务处理
  • 员工的医药费计入什么科目
  • 月报表该怎么做表格
  • 基建和技改的区别
  • 员工预支钱要写什么单据
  • 加息法实际利率计算公式
  • 固定资产计提完折旧残值怎么处理
  • 企业处置子公司
  • 建筑安装结转成本分录
  • 应收利息审计底稿怎么做
  • 五险 会计
  • macbookair屏幕变成横版
  • mac电脑自带软件介绍
  • main.exe是什么意思
  • 修改虚拟机中的用户名
  • centos查看具体版本
  • 禁用强制驱动程序签名有什么用
  • cocos2dx游戏有哪些
  • unity2d横版游戏源码
  • 层序遍历递归实现
  • python中requests库session对象的妙用详解
  • node.js 环境配置
  • python编码大全
  • unity获取ui
  • jquery日期选择器
  • js获取当前月份的天数
  • 江苏电子税务局电话
  • 税务局每月征期是什么时候
  • 港澳台资企业
  • 工业生产和农业生产区别
  • 工商年检报告书怎么打印
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设