位置: IT常识 - 正文

React框架第七课 语法基础课《第一课React你好世界》(react框架结构)

编辑:rootadmin
React框架第七课 语法基础课《第一课React你好世界》 React框架第七课 语法基础课《第一课React你好世界》从这一课开始真正进入到React框架的基础语法学习,之前的前五课做个了解即可。1 React框架的基本项目结构├── README.md 使用方法的文档├── node_modules 所有的依赖安装的目录├── package-lock.json 锁定安装时的包的版本号,保证团队的依赖能保证一致。├── package.json ├── public 静态公共目录└── src 开发用的源代码目录2 编写第一个react应用程序react开发需要引入多个依赖文件:react.js、react-dom.js,分别又有开发版本和生产版本,createreact-app里已经帮我们把这些东西都安装好了。把通过CRA创建的工程目录下的src目录清空,然后在 里面重新创建一个index.js. 写入以下代码:目录结构一目录结构二第1个程序,hello world。<!DOCTYPE html><html lang="en"> <style> *{ font-family: 'Gill Sans', 'Gill Sans MT', Calibri, 'Trebuchet MS', sans-serif; font-size: 30px; } </style> <head> <meta charset="utf-8" /> <link rel="icon" href="%PUBLIC_URL%/favicon.ico" /> <meta name="viewport" content="width=device-width, initial-scale=1" /> <meta name="theme-color" content="#000000" /> <meta name="description" content="Web site created using create-react-app" /> <link rel="apple-touch-icon" href="%PUBLIC_URL%/logo192.png" /> <link rel="manifest" href="%PUBLIC_URL%/manifest.json" /> <title>React App</title> </head> <body> <noscript>You need to enable JavaScript to run this app.</noscript> <h1 style="text-align: center;">Helloworld</h1> <div id="root"></div> </body></html>// 从 react 的包当中引入了 React。只要你要写 React.js 组件就必须引入React, 因为react里有//一种语法叫JSX,稍后会讲到JSX,要写JSX,就必须引入React// import App from './App';import React from'react'// ReactDOM 可以帮助我们把 React 组件渲染到页面上去,没有其它的作用了。它是从 react-dom 中//引入的,而不是从 react 引入。import ReactDOM from 'react-dom'// ReactDOM里有一个render方法,功能就是把组件渲染并且构造 DOM 树,然后插入到页面上某个特定的元素上// 这里就比较奇怪了,它并不是一个字符串,看起来像是纯 HTML 代码写在 JavaScript 代码里面。语//法错误吗?这并不是合法的 JavaScript 代码, “在 JavaScript 写的标签的”语法叫 JSXJavaScript XML。ReactDOM.render( // <div> <b><h1>ReactDOM里有一个render方法,功能就是把组件渲染并且构造 DOM 树,然后插入到页面上某个特定的元素上</h1></b> // </div> // React.createElement("div",{ // id:"aaaa", // class:"bbbbb" // },"我是第二种方案") // <div>11111</div> // <App></App> , document.getElementById("root") )//JSX —使用react构造组件,bable进行编译—> JavaScript对象 — ReactDOM.render() —>DOM元素 —>插入页面 /** * jsx=js+xml */运行结果 3 JSX语法JSX 将 HTML 语法直接加入到 JavaScript 代码中,再通过翻译器转换到纯 JavaScript 后由浏览器执行。 在实际开发中,JSX 在产品打包阶段都已经编译成纯 JavaScript,不会带来任何副作用,反而会让代码 更加直观并易于维护。 编译过程由Babel 的 JSX 编译器实现。

ReactDOM.render( <div> <b><h1>ReactDOM里有一个render方法,功能就是把组件渲染并且构造 DOM 树,然后插入到页面上某个特定的元素上</h1></b> <h2>JSX —使用react构造组件,bable进行编译—> JavaScript对象 — ReactDOM.render() —>DOM元素 —>插入页面</h2> </div> // React.createElement("div",{ // id:"aaaa", // class:"bbbbb" // },"我是第二种方案") // <div>11111</div> // <App></App> , document.getElementById("root") )//JSX —使用react构造组件,bable进行编译—> JavaScript对象 — ReactDOM.render() —>DOM元素 —>插入页面 /** * jsx=js+xml */

4.Class组件ES6的加入让JavaScript直接支持使用class来定义一个类,react创建组件的方式就是使用的类的继承,ES6 class 是目前官方推荐的使用方式,它使用了ES6标准语法来构建,看以下代码:import React from "react";// Class组件的创建class App extends React.Component{ // render固定的 render(){ return( <div>第1个class组件react组件。 <ul> <li>1111111</li> <li>2111111</li> <li>3111111</li> <li>4111111</li> <li>5111111</li> </ul> </div> ) }}export default App// 从 react 的包当中引入了 React。只要你要写 React.js 组件就必须引入React, 因为react里有//一种语法叫JSX,稍后会讲到JSX,要写JSX,就必须引入React// import App from './App';import React from'react'// ReactDOM 可以帮助我们把 React 组件渲染到页面上去,没有其它的作用了。它是从 react-dom 中//引入的,而不是从 react 引入。import ReactDOM from 'react-dom'// ReactDOM里有一个render方法,功能就是把组件渲染并且构造 DOM 树,然后插入到页面上某个特定的元素上// 这里就比较奇怪了,它并不是一个字符串,看起来像是纯 HTML 代码写在 JavaScript 代码里面。语//法错误吗?这并不是合法的 JavaScript 代码, “在 JavaScript 写的标签的”语法叫 JSXJavaScript XML。import App from'./01-base/01-class组件'ReactDOM.render( // <div> // <b><h1>ReactDOM里有一个render方法,功能就是把组件渲染并且构造 DOM 树,然后插入到页面上某个特定的元素上</h1></b> // <h2>JSX —使用react构造组件,bable进行编译—> JavaScript对象 — ReactDOM.render() —>DOM元素 —>插入页面</h2> // </div> // React.createElement("div",{ // id:"aaaa", // class:"bbbbb" // },"我是第二种方案") // <div>11111</div> <App></App> , document.getElementById("root") )//JSX —使用react构造组件,bable进行编译—> JavaScript对象 — ReactDOM.render() —>DOM元素 —>插入页面 /** * jsx=js+xml */

 5. 函数式组件

function App(){ return( <div>function函数组件内容</div> )}export default App// 从 react 的包当中引入了 React。只要你要写 React.js 组件就必须引入React, 因为react里有//一种语法叫JSX,稍后会讲到JSX,要写JSX,就必须引入React// import App from './App';import React from'react'// ReactDOM 可以帮助我们把 React 组件渲染到页面上去,没有其它的作用了。它是从 react-dom 中//引入的,而不是从 react 引入。import ReactDOM from 'react-dom'// ReactDOM里有一个render方法,功能就是把组件渲染并且构造 DOM 树,然后插入到页面上某个特定的元素上// 这里就比较奇怪了,它并不是一个字符串,看起来像是纯 HTML 代码写在 JavaScript 代码里面。语//法错误吗?这并不是合法的 JavaScript 代码, “在 JavaScript 写的标签的”语法叫 JSXJavaScript XML。// import App from'./01-base/01-class组件'import App from'./01-base/02-函数式组件'// import App from './01-base/07Ref'// import App from './01-base/08state'// import App from './01-base/09数组循环'ReactDOM.render( // <div> // <b><h1>ReactDOM里有一个render方法,功能就是把组件渲染并且构造 DOM 树,然后插入到页面上某个特定的元素上</h1></b> // <h2>JSX —使用react构造组件,bable进行编译—> JavaScript对象 — ReactDOM.render() —>DOM元素 —>插入页面</h2> // </div> // React.createElement("div",{ // id:"aaaa", // class:"bbbbb" // },"我是第二种方案") // <div>11111</div> <App></App> , document.getElementById("root") )//JSX —使用react构造组件,bable进行编译—> JavaScript对象 — ReactDOM.render() —>DOM元素 —>插入页面 /** * jsx=js+xml */

 6 组件套娃// 从 react 的包当中引入了 React。只要你要写 React.js 组件就必须引入React, 因为react里有//一种语法叫JSX,稍后会讲到JSX,要写JSX,就必须引入React// import App from './App';import React from'react'// ReactDOM 可以帮助我们把 React 组件渲染到页面上去,没有其它的作用了。它是从 react-dom 中//引入的,而不是从 react 引入。import ReactDOM from 'react-dom'// ReactDOM里有一个render方法,功能就是把组件渲染并且构造 DOM 树,然后插入到页面上某个特定的元素上// 这里就比较奇怪了,它并不是一个字符串,看起来像是纯 HTML 代码写在 JavaScript 代码里面。语//法错误吗?这并不是合法的 JavaScript 代码, “在 JavaScript 写的标签的”语法叫 JSXJavaScript XML。// import App from'./01-base/01-class组件'// import App from'./01-base/02-函数式组件'import App from'./01-base/03组件套娃'// import App from './01-base/07Ref'// import App from './01-base/08state'// import App from './01-base/09数组循环'ReactDOM.render( // <div> // <b><h1>ReactDOM里有一个render方法,功能就是把组件渲染并且构造 DOM 树,然后插入到页面上某个特定的元素上</h1></b> // <h2>JSX —使用react构造组件,bable进行编译—> JavaScript对象 — ReactDOM.render() —>DOM元素 —>插入页面</h2> // </div> // React.createElement("div",{ // id:"aaaa", // class:"bbbbb" // },"我是第二种方案") // <div>11111</div> <App></App> , document.getElementById("root") )//JSX —使用react构造组件,bable进行编译—> JavaScript对象 — ReactDOM.render() —>DOM元素 —>插入页面 /** * jsx=js+xml */import React, { Component } from 'react'class Navbar extends Component{ render(){ return(<div>Navbar <Child></Child> <Child2></Child2> </div>) }}class Child extends Navbar{ render(){ return(<div>Child <SON></SON> </div>) }}class Child2 extends Navbar{ render(){ return(<div>Child2</div>) }}function SON(){ return (<div>SON</div>) }function Swiper(){ return (<div>Swiper</div>) }const Tabber=()=>(<div>Tabber</div>) export default class APP extends Component { render() { return ( <div> <Navbar></Navbar> <Swiper></Swiper> <Tabber></Tabber> </div> ) }}

 7 组件的样式

// 从 react 的包当中引入了 React。只要你要写 React.js 组件就必须引入React, 因为react里有//一种语法叫JSX,稍后会讲到JSX,要写JSX,就必须引入React// import App from './App';import React from'react'// ReactDOM 可以帮助我们把 React 组件渲染到页面上去,没有其它的作用了。它是从 react-dom 中//引入的,而不是从 react 引入。import ReactDOM from 'react-dom'// ReactDOM里有一个render方法,功能就是把组件渲染并且构造 DOM 树,然后插入到页面上某个特定的元素上// 这里就比较奇怪了,它并不是一个字符串,看起来像是纯 HTML 代码写在 JavaScript 代码里面。语//法错误吗?这并不是合法的 JavaScript 代码, “在 JavaScript 写的标签的”语法叫 JSXJavaScript XML。// import App from'./01-base/01-class组件'// import App from'./01-base/02-函数式组件'// import App from'./01-base/03组件套娃'import App from'./01-base/04-组件的样试'// import App from './01-base/07Ref'// import App from './01-base/08state'// import App from './01-base/09数组循环'ReactDOM.render( // <div> // <b><h1>ReactDOM里有一个render方法,功能就是把组件渲染并且构造 DOM 树,然后插入到页面上某个特定的元素上</h1></b> // <h2>JSX —使用react构造组件,bable进行编译—> JavaScript对象 — ReactDOM.render() —>DOM元素 —>插入页面</h2> // </div> // React.createElement("div",{ // id:"aaaa", // class:"bbbbb" // },"我是第二种方案") // <div>11111</div> <App></App> , document.getElementById("root") )//JSX —使用react构造组件,bable进行编译—> JavaScript对象 — ReactDOM.render() —>DOM元素 —>插入页面 /** * jsx=js+xml */import React, { Component } from 'react'import '../css/01-index.css' export default class APP extends Component { render() { var objs = { color: 'red', fontSize: '20px', borderBlockColor: 'red', backgroundColor: 'yellow', textAlign: 'center', padding: '20px', width:'600px' } return ( <div> {10 + 20 + 34 + 56 + 77}<br></br> {'mynam'}<br></br> {10 > 20 ? 'aaaa' : 'bbbb'}<br></br> { /* 行内样式想给虚拟dom添加行内样式,需要使用表达式传入样式对象的方式来实现: React推荐我们使用行内样式,因为React觉得每一个组件都是一个独立的整体 */ } <div style= { { color: 'back', fontSize: '20px', borderBlockColor: 'red', backgroundColor: 'pink', textAlign: 'center', padding: '20px', width:'600px' } }>样式内容</div> <div style={objs}>222222</div> <div className="active">3333333</div> <label for="username">用户名</label> <input type="text" id='username'/> </div> ) }}

本文链接地址:https://www.jiuchutong.com/zhishi/294519.html 转载请保留说明!

上一篇:Vue3的vue-router超详细使用(vue–router)

下一篇:YOLOV7训练自己的数据集以及训练结果分析(手把手教你)(yolov7训练自己的模型用 flask封装)

  • 电脑有规律的哒哒哒响(电脑总是有规律的响)

    电脑有规律的哒哒哒响(电脑总是有规律的响)

  • 在wps上怎么做ppt文件(在wps上如何做ppt)

    在wps上怎么做ppt文件(在wps上如何做ppt)

  • 乐视是什么(乐视是什么情况)

    乐视是什么(乐视是什么情况)

  • wps工具栏没有审阅怎么办(wps工具栏不显示图标)

    wps工具栏没有审阅怎么办(wps工具栏不显示图标)

  • 手机poweroff是什么意思(手机显示power off)

    手机poweroff是什么意思(手机显示power off)

  • 全民k歌被永久封号有什么办法可以解封(全民k歌被永久封号无法登录怎么找官方客服)

    全民k歌被永久封号有什么办法可以解封(全民k歌被永久封号无法登录怎么找官方客服)

  • cpu vid电压是什么(cpu vddnb电压)

    cpu vid电压是什么(cpu vddnb电压)

  • word图片四周型环绕怎么设置(word图片四周型环绕居中怎么设置)

    word图片四周型环绕怎么设置(word图片四周型环绕居中怎么设置)

  • 以太网和局域网的区别(以太网和局域网的关系)

    以太网和局域网的区别(以太网和局域网的关系)

  • word文档如何分页(word文档如何分隔线)

    word文档如何分页(word文档如何分隔线)

  • 华为手机都有两个系统吗(华为手机都有两个空间吗)

    华为手机都有两个系统吗(华为手机都有两个空间吗)

  • 爱奇艺怎么看央视一套(爱奇艺怎么看央视春晚直播)

    爱奇艺怎么看央视一套(爱奇艺怎么看央视春晚直播)

  • hpm403d硒鼓的型号(hp401硒鼓型号)

    hpm403d硒鼓的型号(hp401硒鼓型号)

  • iphone字体风格怎么改(iphone 字体风格)

    iphone字体风格怎么改(iphone 字体风格)

  • 淘宝网创办于哪一年(淘宝网创办哪一年)

    淘宝网创办于哪一年(淘宝网创办哪一年)

  • 华为手机上的hd怎么关掉(华为手机上的hd收费吗)

    华为手机上的hd怎么关掉(华为手机上的hd收费吗)

  • seaaloo是什么型号(seacoral是什么意思)

    seaaloo是什么型号(seacoral是什么意思)

  • mysql默认升序还是降序(mysql默认顺序)

    mysql默认升序还是降序(mysql默认顺序)

  • 荣耀手机怎么隐藏应用(荣耀手机怎么隐藏应用图标)

    荣耀手机怎么隐藏应用(荣耀手机怎么隐藏应用图标)

  • 如何禁止微信开机启动(如何禁止微信开小号)

    如何禁止微信开机启动(如何禁止微信开小号)

  • 手机怎么自动清灰(手机怎么自动清理灰尘)

    手机怎么自动清灰(手机怎么自动清理灰尘)

  • 计算机后门木马种类包括哪些(计算机后门木马种类包括)

    计算机后门木马种类包括哪些(计算机后门木马种类包括)

  • 拼多多黑号怎么解除(拼多多黑号怎么黑回来)

    拼多多黑号怎么解除(拼多多黑号怎么黑回来)

  • wps怎么画直线(wps怎么画直线箭头不歪)

    wps怎么画直线(wps怎么画直线箭头不歪)

  • 快手没有声音是怎么回事(快手为啥没有声音)

    快手没有声音是怎么回事(快手为啥没有声音)

  • 高尔夫app开发怎么做(高尔夫的app)

    高尔夫app开发怎么做(高尔夫的app)

  • dedecms织梦tag+keyword调用相关文章(织梦cms官网)

    dedecms织梦tag+keyword调用相关文章(织梦cms官网)

  • 折旧年限与税法有关吗
  • 高铁票进项抵扣怎么在增值税系统申报
  • 移动发票抬头个人税号公司能报销吗
  • 成本费用总额占营业收入比重
  • 企业中征码全称
  • 办公室租金发票可以扺军品企业增值税吗
  • 跨年度退货可以开红字发票吗
  • 工会经费能零申报,可以计提工会经费吗
  • 跨月的增值税普通发票开错了怎么办
  • 职工享受工伤保险
  • 进项已经抵扣会退回吗
  • 公司研发阶段的产品领料怎么处理?
  • 增值税专票给客户的是第几联
  • 开专票必须公对公付款不然不开
  • 个体户发票冲红应该具备什么条件
  • 填制和审核凭证是什么意思
  • 所得税补缴自查需要缴纳什么
  • 稿酬所得的个税计算
  • 挂靠公司代收入税金如何做分录?
  • 外挂项目跨年结转分录怎么做?
  • 补充医疗保险报销流程
  • 质量扣款入账
  • 收购报废车有利润吗
  • 收到工程结算单,没有发票,能入成本吗
  • 收到购买商品发票怎么做账
  • 自用煤怎么入账
  • 收入的特征包括哪些
  • 辅助生产车间工人工资
  • linux系统的
  • win11怎么查看win的产品密钥
  • 鸿蒙系统2.0怎么升级3.0
  • 企业转让要收多少费用
  • PHP:pg_lo_create()的用法_PostgreSQL函数
  • js日期字符串转换为指定格式的日期
  • 未取得专用发票是否计算增值税
  • 董事会会费应计什么科目
  • 欧罗巴山脉自驾
  • chrome插件扩展名
  • 记账凭证摘要是什么意思
  • 股东分红企业代扣个税
  • 股票的红利
  • 即征即退进项税转出
  • 小规模纳税人实收资本印花税怎么算
  • win11硬件加速gpu计划怎么关
  • 快速傅里叶变换matlab
  • 农产品免税收入怎么做账
  • 无形资产摊销怎么计算月摊销额
  • 门窗安装属于土建还是安装?
  • 企业适用的增值税税率
  • 金融商品转让一半增值税
  • 开具发票要注意的方面是有哪些?
  • 公司帐户可以转法人私人账户吗
  • 员工奖励账务处理流程
  • 企业验资的好处
  • 新政府会计下专业学什么
  • 房地产结转收入的条件
  • 长期挂账其他应付款违反了哪项制度
  • 投资别人的公司叫什么
  • 建筑业成本必须分别核算么
  • 应收账款周转率计算公式
  • macbook macos
  • ubuntu安装指南
  • Ubuntu14.04 的 SSH 无密码登录的设置方法
  • ubuntu设置共享文件夹命令mount
  • windows组策略a-g-dl-p
  • windows7触摸
  • win7系统在电源选项找不到屏幕亮度
  • win7开启路由功能
  • cocos2dx-js
  • 第四章之BootStrap表单与图片
  • jquery 插件写法
  • 鼠标滑动页面缩放取消
  • css渲染规则
  • 北京比较大五金市场在哪
  • 报fob价格最后谁退税
  • 纳税信用d级企业保留几年
  • 金税盘的操作步骤
  • 吉林税务发票自动查询系统网
  • 天津税务陈岩
  • 湖北省叉车考试题库
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设