React入门教程(第一篇)

更新:11-13 民间故事 我要投稿 纠错 投诉

各位老铁们好,相信很多人对React入门教程(第一篇)都不是特别的了解,因此呢,今天就来为大家分享下关于React入门教程(第一篇)以及的问题知识,还望可以帮助大家,解决大家的一些困惑,下面一起来看看吧!

有时候,由于工作项目的需要,在各种技术栈之间切换时,只要有一段时间没有使用过,就会感觉有些陌生。最后,我不得不承认,我的技术还不够。

本文不是教程,只是我自己学习过程中的一些总结和反思,让我们一起学习成长吧~

React Learning-create-react-app 有视频

React是什么?

用于构建用户界面的JavaScript 库,MVC 架构中的V 层

声明式开发(你想实现什么,应该做什么,但不指定怎么做,如下代码所示)面向数据的编程,只要构建好数据,react就会自动帮你构建网站,数据可以理解为一张图。绘图完成后,React会自动将其与绘图结合起来,帮助你构建整个页面的建筑和DOM。无论数据是什么,页面都会显示它是什么。这种声明式风格的开发帮助我们节省了大量的DOM操作代码,这是react编程的一个优点)

/**

*

* 需求: 编写一个函数,处理传入的包含大写字符串的数组,并返回包含相同小写字符串的数组

* 声明式编程实现toLowerCase

* 输入数组的元素被传递给map函数,并返回一个包含小写值的新数组

*/

让toLowerCase=arr=arr.map(function(item) {

返回item.toLowerCase();

})

let aToCasesA=["遂比川吉","ITCLANCODER", "中国", "北京", "年龄"];

让aToCasesB=toLowerCase(aToCasesA);

console.log(aToCasesA); //["遂必传记", "ITCLANCODER", "中国", "北京", "年龄"]

console.log(aToCasesB); //["suibichuanji", "itclancoder", "zhongguo", "beijing", "age"]命令式编程(类似于jQuery操作DOM,创建页面,一步步告诉DOM如何去挂载,怎么做你做吧,JQ,无论原生与否,都是命令式编程,都是做DOM操作)/*

* 命令式编程:按顺序逐步实现

* 首先创建一个空数组来保存结果,然后迭代输入数组的所有元素,

将每个元素的小写值存储在空数组中并返回结果数组

*/

var aToCasesA=["遂比川吉", "ITCLANCODER", "中国", "北京", "年龄"];

函数toLowerCase(arr) {

var 资源=[];

for(var i=0; i arr.length; i++) {

res.push(arr[i].toLowerCase());

}

返回资源;

}

var aToCasesB=toLowerCase(aToCasesA);

console.log(aToCasesA); //["遂必传记", "ITCLANCODER", "中国", "北京", "年龄"]

console.log(aToCasesB); //["suibichuanji", "itclancoder", "zhongguo", "beijing", "age"] 函数式编程: 写了一些函数,带来了几个好处,而且易于维护。这相对容易。当函数比较大时,可以拆分,每个函数各司其职,方便前端自动化测试((数组中一些map、reduce、find等方法的应用就是函数式编程) )

视图层框架(在大型项目中,单独使用react是不够的,我们还必须配合一些数据层框架来帮助我们解决一些组件之间父子组件传值的问题。React将自己定义为视图层它并不能解决所有问题,它只是帮助你解决数据和页面渲染的问题,至于如何在组件之间传递值,就交给其他组件了。

在小型项目中,可以使用react中的父子组件来传值,但在大型项目中,单独使用react是不够的(例如:flux、redux、mobox等数据层框架),react是不是一个完整的框架,所以它的学习成本比较高。

React能做什么?

编写Web应用程序(网站、PC端、移动端等,如:知乎、简书等)桌面客户端应用软件(类似于vscode或一些带有window应用程序的报表软件)webApp--react native,混合开发应用服务器端应用(Java、PHP等后端语言能做的事情,React也能做)只有你想不到的应用,没有实现不了的技术。

初始化一个React项目

前置条件命令行环境(DOS CMD环境或Windows中的git工具),Apple Mac电脑可以使用内置终端。对于Linux用户来说,命令行工作环境无需赘述。这里使用Windows开发环境。例如,下载并安装NodeJS(React本身不依赖Node.js,但项目中所需的依赖包/工具需要Node.js的支持)。本地安装Node后,默认安装npm包管理工具cmd或git命令。执行命令检查Node和npm是否安装成功。如果npm下载包慢,也可以使用国内淘宝的cnpm。

D:公开课2019node -v

v10.13.0

D:公开课2019npm -v

6.4.1 当然也可以安装cnpm,使用国内位置下载依赖包会更快。

$ npm install -g cnpm --registry=https://registry.npm.taobao.org 安装好cnpm后,和使用npm没有什么区别

Chrome浏览器(从应用商店下载React Developer Tools调试工具)

create-react-app脚手架工具

create-react-app(创建react应用程序),它是通过npm发布的安装包,也是一个命令。安装完nodejs后,在命令终端中执行npm或cnpm命令即可全局安装create-react-app脚手架工具。

D:公开课2019 npm install --global create-react-app

或者

D:公开课2019 cnpm install -g create-react-app

其中,-g是--global的缩写。安装create-react-app脚手架工具后,执行create-react-app命令。该命令将在当前目录中创建一个具有指定参数名称的应用程序目录。可以创建三种类型的React 项目应用程序。方式

方式一:create-react-app 应用名称(推荐此方法)

D:公开课2019 create-react-app myfirstreactapp

D:公开课2019 cd myfirstreactapp

D:公开课2019 npm start方式二:npm init react-app my-first-react-app

D:公开课2019 npm init react-app myfirstreactapp

D:公开课2019 cd myfirstreactapp

D:公开课2019 npm start方式三:使用yarn,yarn create react-app my-react-app

D:公开课2019纱线创建react-app myfirstreactapp

D:公开课2019 cd myfirstreactapp

D:Open Class2019 npm start方式四:npx create-react-app 应用程序名称,相当于方法一。当你运行npx create-react-app my-app 时,会自动安装最新版本的Create React App,如果您之前已经全局安装过create-react-app,请全局卸载。

npx create-react-app myfirstreactapp注意事项应用名称不能包含大写字母(不能是驼峰式大小写,只能是小写字母) D:Open Class2019 create-react-app myFirstReactApp X

D:Open Class2019 由于npm 命名限制,名为“myFirstReactApp”的项目

* 名称不能再包含大写字母使用npx create-react-app命令创建react应用失败时,更换淘宝镜像,替换为国内下载的。更改后,使用npm或cnpm等一些命令时,下载依赖包会快很多

查看npm镜像源D:Open Class2019 npm config getregistry

//默认为:https://registry.npmjs.org/修改为淘宝的镜像源

D:Open Class2019 npm config setregistry https://registry.npm.taobao.orgcreate-react-app 创建项目

D:Open Class2019 npx create-react-app 应用名称的上述命令可以创建一个react项目应用。在这个目录下,会自动创建一个应用框架的代码结构。

您可以在src 中创建子目录。为加快重建

注意:Webpack只处理src中的文件。你需要将任何JS和CSS文件放在src中,否则Webpack将不会看到它们的使用create-react-app工具创建的应用程序可以避免麻烦的手动配置工作。 React技术依赖于webpack工具,这也是一种技术

一切准备就绪后,执行npm start命令会启动一个本地开发模式服务,并自动打开一个指向本地地址http://localhost:3000的网页,如下图所示:

[图片上传失败.(image-a54a58-1571284426171)]

接下来使用您最喜欢的代码编辑器打开项目:这将是本节最重要的内容。

我的第一个反应应用程序

package-lock.json //安装时锁定包的版本号,需要上传到git,以保证别人安装npm时大家的依赖一致。整个文件的描述是为了让开发者知道,只要将源文件保存到新的机器或者新的下载源,并根据这个package-lock.json指示的具体版本下载依赖的库包,您可以确保所有图书馆包都在您身边。安装过程完全相同。它是由npm install 自动生成的文件。

package.json //整个应用的描述,应用名称,版本号,一些依赖包,以及项目启动,打包,测试配置,锁定大版本

公共

favicon.ico //图标图标

index.html //主页面,首页模板

manifest.json //定义为app应用。您可以配置快捷方式的图标、定义快捷方式的图标以及定义快捷方式跳转到的位置。主题颜色用于指定应用程序。显示名称、图标、应用程序入口文件地址以及所需的设备权限等信息类似于Android中的manifest.xlm配置文件

README.md //文档

src //源代码目录

App.css //App应用组件的样式

App.js //App应用组件的逻辑代码构成了一个react组件的基础组件

App.test.js //App自动化测试文件

index.css //首页入口索引样式

index.js //整个程序运行的入口文件

logo.svg //图标、资源

serviceWorker.js //引入这个是为了帮助我们使用网页来编写移动应用程序。如果上传到https协议的服务器上,即使网络断了,仍然可以看到上一页:010 -1010 React中的一个重要思想就是通过组件来开发应用程序。所谓组件,是指能够完成特定功能的独立的、可重用的代码(页面的某一部分)。

基于组件的应用程序开发是一种广泛使用的软件开发模型。它使用分而治之的方法将大型应用程序分解为多个小组件。每个组件只专注于一小部分特定功能,但组件组合在一起,可以形成功能庞大的应用程序

应用程序只是呈现其他组件的组件

也可以说,React 应用程序是由组件组成的。您可以将组件理解为教浏览器识别新HTML 标签的一种方式。实现组件的好处是扩展了原生HTML标签的功能,比如:组件之间的数据流转等。

如果你使用过AngularJS,你可以将组件理解为类似于指令的概念。在当今的开发模式中,基于组件的开发非常流行。

React 非常适合构建用户交互组件

React应用程序实际上是由组件组成的树

在该树的根节点处,顶级组件是应用程序本身。它将在浏览器启动时呈现,也称为引导应用程序。

由于组件是以树形结构组织的,因此当每个组件被渲染时,它会递归地渲染从属组件。

React中的组件

Virtual DOM采用DOM diff算法,只更新差异部分,而不渲染整个页面,提高效率。

组件化将页面划分为多个组件,这些组件包含逻辑结构和样式。

组件只包含自己的逻辑,更新组件时可以预测,有利于维护整个页面,也有利于拆分多个组件复用。

单向数据流(允许父组件向子组件传值,但子组件只能使用父组件)。子组件不能直接重写该值。它只能朝一个方向传递,但你不能朝相反的方向传递。给我修改一下。为了达到这个目的,子组件调用父组件的方法,通过在父组件中改变自身来进行操作。维护代码更方便)并且可以与其他框架(Jq、Angular等)共存

数据从顶级组件传递到子组件

数据可控

React特点

其实不光是react或者vue,就连Angular,流程都是一样的。

根据产品经理提供的原型图或者UI设计师提供的设计稿,首先要做的不是开始写代码,而是根据页面的不同,按照不同的尺寸和大小,将页面拆分成若干个组件。粒度细。

将页面内容进行分组,并一一抽象为组件。从上到下,我们将我们的应用程序组合起来,形成一个完整的软件系统应用程序。

用户评论

容纳我ii

刚开始接触 React,感觉还挺新奇的。

    有18位网友表示赞同!

败类

想做一个前端作品,听说 React 挺好用的。

    有11位网友表示赞同!

信仰

已经学过一点 JS 了,准备开始学 React 。

    有6位网友表示赞同!

柠栀

不知道学习 React 需要多久?有没有什么好推荐的学习资源?

    有12位网友表示赞同!

陌然淺笑

React 的组件化思想很有意思啊!

    有17位网友表示赞同!

命运不堪浮华

现在很多前端项目都在用 React,想要跟上潮流才行。

    有11位网友表示赞同!

哭着哭着就萌了°

看样子 React 用起来还是蛮灵活的,可以做各种各样的应用。

    有7位网友表示赞同!

不相忘

想问问 React 和 Vue.js 的区别在哪?哪个比较容易学?

    有18位网友表示赞同!

万象皆为过客

学习 React 对未来的编程生涯一定很有帮助吧!

    有12位网友表示赞同!

如梦初醒

准备花一周时间好好学习 React 哦,希望能入门成功。

    有9位网友表示赞同!

各自安好ぃ

已经翻看了很多 React 教程了,感觉自己离梦想越来越近了!

    有15位网友表示赞同!

青山暮雪

期待能很快写出自己的 React 项目,体验一下开发的乐趣!

    有16位网友表示赞同!

还未走i

React 的官方文档有点复杂,有没有一些通俗易懂的学习资料?

    有9位网友表示赞同!

余温散尽ぺ

听说 React 社区挺活跃的,找问题可以去问问吧。

    有16位网友表示赞同!

Hello爱情风

准备找一个入门级别的 React 项目练习一下,巩固知识点!

    有19位网友表示赞同!

此刻不是了i

感觉 React 的生态系统很大,有很多强大的工具和库可以利用。

    有16位网友表示赞同!

残留の笑颜

学习新技术总让人兴奋,这次就好好搞定 React 吧!

    有17位网友表示赞同!

迷路的男人

希望我能早日把 React 学精,成为一名优秀的前端开发人员!

    有20位网友表示赞同!

像从了良

React 学习的道路还有很远,但是我一直在努力!

    有20位网友表示赞同!

【React入门教程(第一篇)】相关文章:

1.蛤蟆讨媳妇【哈尼族民间故事】

2.米颠拜石

3.王羲之临池学书

4.清代敢于创新的“浓墨宰相”——刘墉

5.“巧取豪夺”的由来--米芾逸事

6.荒唐洁癖 惜砚如身(米芾逸事)

7.拜石为兄--米芾逸事

8.郑板桥轶事十则

9.王献之被公主抢亲后的悲惨人生

10.史上真实张三丰:在棺材中竟神奇复活

上一篇:探索无限:一图览尽多彩世界 下一篇:揭秘:那些隐藏在角落的暴利商机,推荐您不容错过的创业小项目!