《React进阶之路》学习笔记 第一章:初识React

Chapter1 初识React

§1.1 React简介

React:以组件(component)为核心,用组件搭建UI的开发模式。

React的特点:

  1. 声明式的视图层
  2. 简单的更新流程
  3. 灵活的渲染实现
  4. 高效的DOM操作

React需要结合其他库(如Redux等)使用才能发挥最大作用。

§1.2 ES 6语法简介

简述了Javascript语言ES 6标准的新特性

  1. 声明变量
//var, const, let
{
	var a = 1;
	let b = 2;
}
a		// 1
b		// Error, b is not defined
const c = 3;
c = 4;	// Error
  1. 声明函数
//省略function, return关键字
//case 1
var f = () => 1;		//等价于:function f() { return 1; }
var f = a => a+1;		//等价于:function f(a) { return a + 1; }
var f = (a, b) => a+b;	//等价于:function f(a, b) { return a + b; }
var f = (x, y) => {
	x++;
	y--;
	return x + y;
}						//同上,但多条语句的情况下不能省略return
  1. 字符串
//普通字符串
var str1 = 'string';	//valid
var str2 = "string";	//valid
//模板字符串(以反引号` `标识字符串)
var str3 = `string`;	//valid
var str4 = `str
			ing`;		//valid, defined in multi-line
var str5 = "SYSU";
var str6 = `Hello, ${str5}!`	//valid, embedded variable
  1. 解构赋值
    解构:按照一定模式从数组和对象中提取值,对变量进行赋值
//数组解构
let [a, b, c] = [1, 2, 3];	// a=1, b=2, c=3
//对象解构
//case 1
let name = 'SDCS';
let age = 4;
let college = {name, age};	// the same as {name: "SDCS", age: 4}
//case 2
let college = {name: "SDCS", age: 4};
let {name, age} = college;	// name == "SDCS", age == 4
//函数参数解构
//case 1: 数组参数
function sum ([x, y]) {
	return x + y;
}
sum([1, 2]);				// 3
//case 2: 对象参数
function sum ({x, y}) {
	return x + y;
}
sum({x: 1, y: 2});			// 3
//嵌套结构的解构
let [a, [b], c] = [1, [2], 3];	// a==1, b==2, c==3
let {college: {name, age}, fun} = 
	{college: {name: "SDCS", age: 4}, fun: 'fun'};
  1. class
//定义一个类
class College {
	constructor(name, age) {
		this.name = name;
		this.age = age;
	}
	getName() {
		return this.name;
	}
	getAge() {
		return this.age;
	}
}
let college = new College("SDCS", 4);	//创建类的对象

类的继承使用 extendssuper关键字

//类的继承
class ComputerScience extends College {
	constructor(name, age) {
		super(name, age);
	}
	getProfession() {
		return 'Computer Science';
	}
}
let computerScience = new ComputerScience('SDCS', 4);
  1. import、export
    实现模块化标准主要由两个关键字构成:exportimportexport 用于规定模块外对外暴露的接口,import 用于引入其他模块提供的接口。
    (详情见后续部分)

§1.3 开发环境与工具

§1.3.1 基础环境

  1. Node.js
    Node.js是一个JavaScript运行时,它让JavaScript在服务器端运行成为现实
    点击此处下载
  2. NPM
    NPM时一个模块管理工具,用于管理模块的发布、下载及模块之间的依赖关系

§1.3.2 辅助工具

Webpack, Babel, ESLint, Visual Studio Code(简称VS Code)

§1.3.3 Create React App

梦想开始的地方

  1. 安装
    Windows系统下按下Win+R,输入cmd进入命令行终端,输入以下命令:
    npm install -g create-react-app
    通过使用-g参数,我们将 create-react-app 安装到了系统的全局环境,这样我们就可以在任意路径下使用它了。
  2. 创建应用
    使用 create-react-app 在桌面创建一个新应用,在命令行终端运行:
    cd Desktop
    create-react-app my-app
    这时会在桌面创建一个名为 my-app 的文件夹, my-app 也就是我们新创建的 React 应用。
  3. 运行应用
    在命令行终端运行:
    cd my-app
    npm start
    当应用启动成功后,在Chrome地址栏输入http://localhost:3000即可访问应用。
    用VS Code打开 my-app 文件夹,可看到文件夹内的目录如下图所示:
    文件夹内的目录结构
    node_modules:文件夹内是安装的所有依赖模块。
    package.json:文件定义了项目的基本信息,如项目名称、版本号、在该项目下可执行的命令以及项目的依赖模块等。
    public:文件夹下的 index.html 是应用的入口界面。
    src:(src即为source)文件夹下是项目源代码。
    index.js:为代码入口。

index.js 导入了模块 App.js ,修改 App.js ,将它的方法修改如下:

function App() {
  return (
    <div className="App">
      <div className = "App-header">
        <img src={logo} className="App-logo" alt="logo" />
        <h1>I love SDCS</h1>
        </div>
        <p className = "App-intro">
          Hello, world!
        </p>
    </div>
  );
}

保存文件之后,可以看到浏览器页面实时进行了更新:
新的界面预览
至此,我们完成了第一个 React 应用。

【基于Python的大麦网自动抢票工具的设计与实现】 随着互联网技术的发展,网络购票已经成为人们生活中不可或缺的一部分。尤其是在文化娱乐领域,如音乐会、演唱会、戏剧等活动中,热门演出的门票往往在开售后瞬间就被抢购一空。为了解决这个问题,本论文探讨了一种基于Python的自动抢票工具的设计与实现,旨在提高购票的成功率,减轻用户手动抢票的压力。 Python作为一种高级编程语言,因其简洁明了的语法和丰富的第三方库,成为了开发自动化工具的理想选择。Python的特性使得开发过程高效且易于维护。本论文深入介绍了Python语言的基础知识,包括数据类型、控制结构、函数以及模块化编程思想,这些都是构建抢票工具的基础。 自动化工具在现代社会中广泛应用,尤其在网络爬虫、自动化测试等领域。在抢票工具的设计中,主要利用了自动化工具的模拟用户行为、数据解析和定时任务等功能。本论文详细阐述了如何使用Python中的Selenium库来模拟浏览器操作,通过识别网页元素、触发事件,实现对大麦网购票流程的自动化控制。同时,还讨论了BeautifulSoup和requests库在抓取和解析网页数据中的应用。 大麦网作为国内知名的票务平台,其网站结构和购票流程对于抢票工具的实现至关重要。论文中介绍了大麦网的基本情况,包括其业务模式、用户界面特点以及购票流程,为工具的设计提供了实际背景。 在系统需求分析部分,功能需求主要集中在自动登录、监控余票、自动下单和异常处理等方面。抢票工具需要能够自动填充用户信息,实时监控目标演出的票务状态,并在有票时立即下单。此外,为了应对可能出现的网络延迟或服务器错误,工具还需要具备一定的错误恢复能力。性能需求则关注工具的响应速度和稳定性,要求在大量用户同时使用时仍能保持高效运行。 在系统设计阶段,论文详细描述了整体架构,包括前端用户界面、后端逻辑处理以及与大麦网交互的部分。在实现过程中,采用了多线程技术以提高并发性,确保在抢票关键环节的快速响应。此外,还引入了异常处理机制,以应对网络故障或程序错误。 测试与优化是确保抢票工具质量的关键步骤。论文中提到了不同场景下的测试策略,如压力测试、功能测试和性能测试,以验证工具的有效性和稳定性。同时,通过对抢票算法的不断优化,提高工具的成功率。 论文讨论了该工具可能带来的社会影响,包括对消费者体验的改善、对黄牛现象的抑制以及可能引发的公平性问题。此外,还提出了未来的研究方向,如增加多平台支持、优化抢票策略以及考虑云服务的集成,以进一步提升抢票工具的实用性。 本论文全面介绍了基于Python的大麦网自动抢票工具的设计与实现,从理论到实践,从需求分析到系统优化,为读者提供了一个完整的开发案例,对于学习Python编程、自动化工具设计以及理解网络购票市场的运作具有重要的参考价值。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值