版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
工业互联网技术与应用安徽省十四五职业教育规划教材项目7
工业互联网中的Web开发学习目标
了解并掌握Web前端开发框架React及其基础知识。
掌握如何在React中创建开发项目。
了解并理解react-router。
掌握antd组件库的引入使用。
掌握RestfulAPI知识
岗位能力素养
具备工业互联网中web前端设计的综合能力
具备良好技术文档编制的综合能力
项目情景工业互联网可以连接机器、人等工业要素,实现数据的智能交互,提高工业生产效率。读者在学习完工业基础设备组装以后,还需要掌握Web开发技术,设计和构建良好的用户界面,方便工业数据的收集和传送,以及操作人员对工业平台进行操作。7.1Web前端框架基础7.1.2React基础知识7.1.1认识React7.1.3antd
7.1.4RESTfulAPI拓展提升
7.1.1认识React前端开发技术React生态现状React特点React框架介绍涉及HTML、CSS、JavaScript,实现Web页面和app的用户界面交互。起源于Facebook,2013年开源,用于构建UI的JavaScript库,专注于视图部分。官网地址/前端开发框架,用于构建用户界面的JavaScript库。主要用于构建UI,更专注于MVC中的V(视图)。采用虚拟DOM,提高性能,处理浏览器兼容性,广泛应用于Web、移动设备和应用开发。已成为三大主流前端框架之一,与Vue、Angular并驾齐驱,各自拥有广泛开发者社区。7.1.2React基础知识React和ReactDOMJSX语法描述UI结构,实现UI与数据解耦。React只负责逻辑层,对数据进行处理。ReactDOM负责渲染层,完成DOM的实际渲染。逻辑和DOM分开017.1.2React基础知识JSXJSX是一种JavaScript的语法扩展,用于描述UI,需将多个子元素包裹在根元素内。如constelement=(<div><h1>Hello!</h1><h2>React!.</h2></div>);。JSX语法概览01单标签需闭合,如<img/>属性名使用camelCase(小驼峰命名),class写成className,如<divclassName='top'></div>。JSX标签规则02在JSX的{}中可写JS代码,如vara='HelloReact!';letb=<div>{a}</div>,用于动态渲染内容。Babel会将JSX转译为React.createElement()。React.createElement()创建React元素,这些元素描述UI,React根据这些元素构建和更新DOM。JSX与JavaScript融合037.1.2React基础知识元素渲染元素是用户看到的内容。将一个React元素渲染到根DOM节点中,只需把它们一起传入ReactDOM.render()。React元素是不可变对象,一旦被创建,就无法更改它的子元素或者属性。7.1.2React基础知识可复用代码块,提高代码可维护性,通过props传递数据,实现灵活配置。组件特性组件是由元素构成,类似于JavaScript函数。使用函数或class声明,接收props生成React元素,描述页面展示内容。组件props不可变。React组件定义组件7.1.2React基础知识state和setState组件状态以state表示,包括数据和用户交互结果。当state更新,通过setState触发视图层重新渲染,保持UI与数据同步。React组件的状态管理初始化state:this.state={count:0};通过this.setState({count:this.state.count+1})增加count,实现状态变更与界面更新。setState用法示例7.1.2React基础知识React组件生命周期Mounting:已插入真实DOMUpdating:正在被重新渲染Unmounting:已移出真实DOMReact组件生命周期三个状态01componentWillMount组件将要挂载。componentDidMount组件已经挂载。componentWillReceiveProps父组件传递的属性有变化,做相应响应。shouldComponentUpdate组件是否需要更新,返回一个布尔值。
componentWillUpdate组件将要更新。componentDidUpdate组件已经更新。componentWillUnmount组件已经移除。React组件生命周期的方法027.1.2React基础知识React交互——Axios交互方法支持npm、bower和cdn。使用npm安装为$npminstallaxios,使用bower为$bowerinstallaxios,使用cdn
:<scriptsrc="/axios/dist/axios.min.js"></script>Axios安装方法Axios是一个基于promise的HTTP库,在浏览器和node.js中均可使用。浏览器兼容7.1.2React基础知识React-Router用于React应用的路由管理库,实现页面与URL同步(/)reactrouter秉承react一切皆组件的原则,路由也是组件,具有分布式配置.ReactRouter简介使用Route组件定义路径和对应的组件,path指定URL,component设置渲染的组件,exact属性用于精确匹配。配置Route组件npm安装react-router-dom,通过import引入顶层路由组件、Link和Route组件。npminstallreact-router-dom--save安装与基本使用0102037.1.3antdantd是蚂蚁金服开源的组件库,提供ReactUI组件,基于AntDesign设计,用于快速构建企业级中后台应用,官网https://ant.design/index-cn。antd组件库概述01包含通用、布局、导航、数据录入、数据展示、反馈等多类别组件,丰富多样。antd组件类别02不仅有官方组件,还整合社区组件,简化开发流程,加速Web应用开发。提高开发效率03每个组件有详细说明,提供源码示例,方便开发者直接应用和定制。组件详细支持047.1.4RESTfulAPI起源:由RoyFielding在其2000年的博士论文中首次提出。定义:一种软件架构约束条件和原则,用于网络应用的设计和开发。RESTfulAPI的定义和起源01对象:操作的目标,如用户(user)。行为:对对象执行的操作,包括查看(GET)、创建(POST)、更新(PUT)、删除(DELETE)。RESTfulAPI的核心概念02资源定位:使用URL定位网络资源。操作描述:通过HTTP动词(GET、POST、PUT、DELETE)描述对资源的操作。通过这些原则和方法,RESTfulAPI简化了网络应用的开发过程,使得开发者能够更高效地构建和维护网络服务RESTfulAPI的工作原理03
拓展提升安装Node.js和npm,全局安装Webpack或yarn,使用create-react-app创建React项目。安装环境与脚手架通过npm安装antd并配置按需加载,使用react-app-rewired和customize-cra优化项目设置。安装并使用antd组件库7.2React事件处理7.2.2向事件处理程序传递参数7.2.1事件处理7.2.3React表单与事件
拓展提升7.2.1事件处理React事件绑定回调函数的绑定与性能处理函数与this阻止默认行为事件绑定属性采用驼峰式命名,传入函数而非字符串。例如:<buttononClick={activateLasers}>点击按钮</button>不能使用returnfalse,需用e.preventDefault()。如:handleClick(e){e.preventDefault();}。需绑定this,否则this在回调中为undefined。可使用属性初始化器或箭头函数语法。构造函数中绑定或使用属性初始化器语法避免每次渲染创建新回调,可能导致额外的重新渲染。7.2.2向事件处理程序传递参数bind方法传递React事件参数传递<buttononClick={(e)=>this.deleteRow(id,e)}>DeleteRow</button><buttononClick={this.deleteRow.bind(this,id)}>DeleteRow</button>使用箭头函数:(e)=>this.deleteRow(id,e),事件对象需显式传递this.deleteRow.bind(this,id),事件对象以及更多的参数将会被隐式的进行传递,注意:事件对象e要排在所传递参数的后面7.2.3React表单与事件在HTML当中,像<input>,<textarea>,和<select>这类表单元素会维持自身状态,并根据用户输入进行更新。在React中,可变的状态通常保存在组件的状态属性中,并且只能用setState()方法进行更新。classHelloMessageextendsReact.Component{
constructor(props){
super(props);
this.state={value:'Helloworld!'};
this.handleChange=this.handleChange.bind(this);
}
handleChange(event){
this.setState({value:event.target.value});
}
render(){
varvalue=this.state.value;
return<div>
<inputtype="text"value={value}onChange={this.handleChange}/>
<h4>{value}</h4>
</div>;
}}ReactDOM.render(
<HelloMessage/>,
document.getElementById('example'));
拓展提升Select下拉菜单<body><divid="example"></div><scripttype="text/babel">classFlavorFormextendsReact.Component{constructor(props){super(props);this.state={value:'腾讯'};this.handleChange=this.handleChange.bind(this);this.handleSubmit=this.handleSubmit.bind(this);}handleChange(event){
this.setState({value:event.target.value});
}
handleSubmit(event){
alert('你最喜欢的网站是:'+this.state.value);
event.preventDefault();
}
render(){
return(
<formonSubmit={this.handleSubmit}>
<label>
选择您最喜欢的网站
<selectvalue={this.state.value}onChange={this.handleChange}>
<optionvalue="腾讯">QQ</option>
<optionvalue="谷歌">Google</option>
<optionvalue="淘宝">Taobao</option>
<optionvalue="百度">Baidu</option>
</select>
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- UnitBridgingCulturesUsingLanguage课件-高中英语人教版选择性
- 娱乐行业租赁合同协议
- 戏剧许可使用合同范本
- 学校专车服务合同范本
- 工厂维修小车合同范本
- 工程造价施工合同范本
- 学生缝补劳动合同范本
- 打包装卸服务合同范本
- 平面设计培训合同范本
- 委托销售珠宝合同范本
- 数学-湖南长郡中学、杭州二中、南师附中三校2025届高三4月联考试题+答案
- 医学三维可视化与虚拟现实技术:革新肝癌腹腔镜手术的探索与实践
- 统编版(2024)八年级上册历史新教材全册知识点复习提纲
- 水平定向钻施工技术应用与管理
- 风险金管理办法
- 校长在食堂从业人员培训会上的讲话
- (高清版)DBJ∕T 13-91-2025 《福建省房屋市政工程安全风险分级管控与隐患排查治理标准》
- 美育视域下先秦儒家乐教思想对舞蹈教育的当代价值研究
- 运输企业隐患排查奖惩制度
- 学堂在线 雨课堂 学堂云 工程伦理2.0 章节测试答案
- 网络传播法规(自考14339)复习题库(含答案)
评论
0/150
提交评论