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

  • 华为手机屏幕上时间和日期没有了怎么办(华为手机屏幕上的日期和时间没有了怎么办)

    华为手机屏幕上时间和日期没有了怎么办(华为手机屏幕上的日期和时间没有了怎么办)

  • 180hz采样率是什么意思(180hz采样率和240hz采样率区别)

    180hz采样率是什么意思(180hz采样率和240hz采样率区别)

  • 小米手机屏幕失灵怎么回事(小米手机屏幕失灵怎么办?最简单的方法)

    小米手机屏幕失灵怎么回事(小米手机屏幕失灵怎么办?最简单的方法)

  • 用什么软件可以把视频拼在一起(用什么软件可以查看老婆和别人聊天)

    用什么软件可以把视频拼在一起(用什么软件可以查看老婆和别人聊天)

  • 微星gameboost有什么用(微星game boost hw sw)

    微星gameboost有什么用(微星game boost hw sw)

  • 笔记本pageup键在哪(笔记本的pageup键怎么按)

    笔记本pageup键在哪(笔记本的pageup键怎么按)

  • 爱分享登录不了怎么办(爱分享app为什么登不进去)

    爱分享登录不了怎么办(爱分享app为什么登不进去)

  • 笔记本风扇不转后果(笔记本风扇不转怎么办)

    笔记本风扇不转后果(笔记本风扇不转怎么办)

  • autodesk recap可以删除吗(autodesk recap可以不安装吗)

    autodesk recap可以删除吗(autodesk recap可以不安装吗)

  • 163邮箱密码正确就是登不上(163邮箱密码正确格式图片)

    163邮箱密码正确就是登不上(163邮箱密码正确格式图片)

  • 为什么钉钉打卡的时候范围显示的不一样(为什么钉钉打卡打不开)

    为什么钉钉打卡的时候范围显示的不一样(为什么钉钉打卡打不开)

  • 携程候补提交成功什么意思(携程候补提交成功)

    携程候补提交成功什么意思(携程候补提交成功)

  • 支付宝滴滴出行怎么修改目的地(支付宝滴滴出行怎么预约明天的车)

    支付宝滴滴出行怎么修改目的地(支付宝滴滴出行怎么预约明天的车)

  • 淘宝换一次货还能退吗(淘宝换一次货还能再换吗)

    淘宝换一次货还能退吗(淘宝换一次货还能再换吗)

  • 米聊怎么加陌生好友(米聊怎么加好友)

    米聊怎么加陌生好友(米聊怎么加好友)

  • vue能改时长吗(vue修改时间格式)

    vue能改时长吗(vue修改时间格式)

  • 华为荣耀20系列的区别(华为荣耀20系列有哪些型号)

    华为荣耀20系列的区别(华为荣耀20系列有哪些型号)

  • 微信怎么把手机号隐藏(微信怎么把手机号码不显示出来)

    微信怎么把手机号隐藏(微信怎么把手机号码不显示出来)

  • oppoa9呼吸灯在哪(oppoa9手机的呼吸灯在哪里设置)

    oppoa9呼吸灯在哪(oppoa9手机的呼吸灯在哪里设置)

  • excel表格电话号码变成乱码(excel表格电话号码格式设置)

    excel表格电话号码变成乱码(excel表格电话号码格式设置)

  • echarts入门基础教程(echarts快速上手)

    echarts入门基础教程(echarts快速上手)

  • 用Python举例实现逆波兰表达式(用python写)

    用Python举例实现逆波兰表达式(用python写)

  • 所得税汇算资产总额怎么算
  • 印花税应纳税额计算方法
  • 安防监控工程会计分录
  • 公司付给中间人居间费用如何纳税
  • 报税成本费用怎么填
  • 期间费用包括资本公积吗
  • 支票的填写前应检查有哪些内容
  • 小规模纳税人出租
  • 企业没有收入怎么办
  • 收到返还利润可以抵扣吗
  • 事业单位预算外收入
  • 房地产公司要做数据分析吗
  • 专用发票地址写错字了能用吗
  • 企业在筹建期间发生的费用
  • 销售类小规模没有成本票怎么办
  • 购销合同印花税2023年新规定
  • 出售股票或债券的条件
  • 辅助生产费用怎么归集
  • 行政罚款计入什么会计科目
  • 工会经费税收
  • 出口免抵退申报期限最新政策解读
  • 社保滞纳利息所得税前扣除
  • 新手会计怎么入门做账
  • 往来款和应收账款
  • window10最新激活码
  • 结转收入怎么计算
  • 查补以前年度增值税怎么申报
  • 支付宝账单有什么作用
  • 偷渡者视频
  • 系统之家装机可靠吗
  • linux的ps命令用法
  • hhupd.exe
  • 营改增会计分录
  • 一般纳税人的进项普票怎么做账
  • 注册公司时认缴和实缴时间怎么填
  • iis安装php环境
  • es6 promise await
  • 其他收益在资产负债表哪点
  • 微信小程序完整授权
  • 母公司为子公司提供担保需要决议吗
  • 帝国cms功能
  • 待抵扣进项税额的账务处理
  • 企业财务准则最新
  • idea快速生成lambda
  • 带附件的目录
  • 酒店营业税率是多少
  • 没有发票的费用支出怎么入账
  • 增值税进项税额抵扣期限最新
  • 固定资产以提足金为准吗
  • 一般纳税人增值税优惠政策2023
  • 支付借款利息需要交税吗
  • 企业支付宝能买东西吗
  • 金税盘如何查看是否清卡
  • 购买空调做账分录
  • 账簿凭证的管理要求
  • sqlserver存储过程在哪里
  • 主板bios恢复出厂默认设置方法
  • whagent.exe - whagent是什么进程
  • vista和win10
  • win8系统如何关闭杀毒系统
  • onetouch.exe - onetouch是什么进程 有什么用
  • linux在实际工作中的应用
  • opengl sharder
  • javascript中函数
  • jquery移除
  • 搭建nodejs
  • mysql命令备份数据库
  • unity 设置物体角度
  • jqueryui dialog
  • 启动游戏使用的文件夹什么意思
  • 基于python的系统
  • js中倒计时器怎么实现
  • javascript学习指南
  • js发送请求的几种方式
  • javascript playground
  • python添加用户并加入到相应组
  • 贷款利息收入增值税税率2023
  • 天津电子税务局官网登录入口网页版
  • 江苏电子税务局网站官网
  • 青岛市崂山区地税局
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设