热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

学react前学什么?

React的学习曲线陡峭是众所周知的,很多人在开始学习React时都一头雾水,笔者自然也不例外。究其原因,是因为我们在学习React的时候,要学的并不仅仅只是React这个库本身。

React 的学习曲线陡峭是众所周知的,很多人在开始学习 React 时都一头雾水,笔者自然也不例外。究其原因,是因为我们在学习 React 的时候,要学的并不仅仅只是 React 这个库本身。

React 自身只是一个 Javascript 编写的 UI 库,但是要用好这个 UI 库,却需要了解许多额外的知识。

那么学react前学什么?

  • Javascript 基础

  • ES6

  • 模块化

  • 命令行存活与包管理器

React完全是关于Javascript的,它是一个用于构建前端UI的Javascript库。所要,学习React前,需要储备基本的前端知识(HTML、css、js、ES6等),必须拥有Javascript和DOM知识。

Javascript 基础

俗话说的好,要想建高楼,先把地基打深。React 说到底还来源gao@.dai.ma.com搞@^&[email protected]是一个 Javascript 库,JS 基础不牢的话,自然也学不好 React。如果你还不清楚 JS 原始类型有哪些,哪些值是 falsy 的,this 到底指代啥,你可能需要补习一下 JS 的基础知识。

且慢,先别急着翻开《Javascript 权威指南》开始啃。语言学习并非一朝一夕之事,如果你以前有过编写 JS 脚本的经验,这里有几篇文章可以帮助你回想起来一些重要的概念,剩下的留着到具体实战中慢慢体会。

ES6

你很可能已经知道 ES6(ECMAScript 6)了。自 2015 年发布以来,ES6 为 Javascript 这门语言注入了新的生命力,极大地提高了开发体验。因为目前主流的框架都在使用 ES6,就算你不用 React,你也会用到 ES6。另外,Babel 的存在可以帮你免去后顾之忧。

ES6中有不少重要的知识点,包括但不限于:let/const、箭头函数、解构赋值、Set/Map、Generator/Iterator、Promise、async/await等。

模块化

目前的网站早已不再像当年刀耕火种的年代一样,一个手工编写的 JS 脚本就能囊括所有的网站交互。随着业务逻辑逐渐变得复杂,如何管理代码、提高代码复用率便成了一个问题。模块化的存在就是为了解决这个问题,使得用 Javascript 构建大型应用成为可能。

目前流行的模块化方案有:CommonJS、ES6 Module、AMD 规范、CMD 规范等。其中,最常用的是 CommonJS 和 ES6 Module。ES6 Module 自不用说,就是 ES6 在语言层面上提出的模块化方案,而 CommonJS 则是 Node.js 采用的模块化方案。

命令行存活与包管理器

为了在命令行存活下来,你并不需要像黑客一样熟练掌握所有酷炫的命令。首先,你需要选择一把趁手的终端,MacOS 用户推荐使用 iTerm2,Windows 用户无责任推荐 Powershell。其次,你得能够使用命令行在文件系统中自如跳转,进行一些基本的文件操作,对系统进行简单的管理。这就足够了。

之所以要学习命令行,是因为 JS 的包管理工具都是在命令行下工作的,包括 npm 和 yarn。

那么什么是包管理工具呢?顾名思义,就是管理项目依赖的工具。Javascript 的强大与其繁荣的生态系统密不可分,有数不清的模块帮你解决各种各种的问题,React 也是其中一个。有了包管理工具,你不再需要跑到某个网站上下载一个 JS 文件下来,你只需要使用命令行从 npm 服务器上拉取指定的文件就好了。

npm(node package manager)是 Node 自带的包管理工具,而 yarn 则是当年 Facebook 为了解决 npm 存在的一些问题而提出的包管理器。(最新版本的 npm 已经很好用了)

更多react的相关知识,请查阅 编程笔记 !!

以上就是学react前学什么?的详细内容,更多请关注gaodaima编程笔记其它相关文章!



推荐阅读
  • React基础篇一 - JSX语法扩展与使用
    本文介绍了React基础篇一中的JSX语法扩展与使用。JSX是一种JavaScript的语法扩展,用于描述React中的用户界面。文章详细介绍了在JSX中使用表达式的方法,并给出了一个示例代码。最后,提到了JSX在编译后会被转化为普通的JavaScript对象。 ... [详细]
  • 本文介绍了如何使用Express App提供静态文件,同时提到了一些不需要使用的文件,如package.json和/.ssh/known_hosts,并解释了为什么app.get('*')无法捕获所有请求以及为什么app.use(express.static(__dirname))可能会提供不需要的文件。 ... [详细]
  • 本文讨论了将HashRouter改为Router后,页面全部变为空白页且没有报错的问题。作者提到了在实际部署中需要在服务端进行配置以避免刷新404的问题,并分享了route/index.js中hash模式的配置。文章还提到了在vueJs项目中遇到过类似的问题。 ... [详细]
  • RN即ReactNative基于React框架针对移动端的跨平台框架,在学习RN前建议最好熟悉下html,css,js,当然如果比较急,那就直接上手吧,毕竟用学习前面基础的时间,R ... [详细]
  • 先下载nodejs针对windows安装安装就行。自定义安装在对应的文件夹就行安装完之后需要在电脑的环境变量里面添加两个路径通过cmd可以查看自己node的版本号最后通过运行npm ... [详细]
  • 本文详细介绍了GetModuleFileName函数的用法,该函数可以用于获取当前模块所在的路径,方便进行文件操作和读取配置信息。文章通过示例代码和详细的解释,帮助读者理解和使用该函数。同时,还提供了相关的API函数声明和说明。 ... [详细]
  • 如何去除Win7快捷方式的箭头
    本文介绍了如何去除Win7快捷方式的箭头的方法,通过生成一个透明的ico图标并将其命名为Empty.ico,将图标复制到windows目录下,并导入注册表,即可去除箭头。这样做可以改善默认快捷方式的外观,提升桌面整洁度。 ... [详细]
  • 本文介绍了在Win10上安装WinPythonHadoop的详细步骤,包括安装Python环境、安装JDK8、安装pyspark、安装Hadoop和Spark、设置环境变量、下载winutils.exe等。同时提醒注意Hadoop版本与pyspark版本的一致性,并建议重启电脑以确保安装成功。 ... [详细]
  • 在说Hibernate映射前,我们先来了解下对象关系映射ORM。ORM的实现思想就是将关系数据库中表的数据映射成对象,以对象的形式展现。这样开发人员就可以把对数据库的操作转化为对 ... [详细]
  • 本文介绍了三种方法来实现在Win7系统中显示桌面的快捷方式,包括使用任务栏快速启动栏、运行命令和自己创建快捷方式的方法。具体操作步骤详细说明,并提供了保存图标的路径,方便以后使用。 ... [详细]
  • 本文介绍了2015年九月八日的js学习总结及相关知识点,包括参考书《javaScript Dom编程的艺术》、js简史、Dom、DHTML、解释型程序设计和编译型程序设计等内容。同时还提到了最佳实践是将标签放到HTML文档的最后,并且对语句和注释的使用进行了说明。 ... [详细]
  • Python脚本编写创建输出数据库并添加模型和场数据的方法
    本文介绍了使用Python脚本编写创建输出数据库并添加模型数据和场数据的方法。首先导入相应模块,然后创建输出数据库并添加材料属性、截面、部件实例、分析步和帧、节点和单元等对象。接着向输出数据库中添加场数据和历程数据,本例中只添加了节点位移。最后保存数据库文件并关闭文件。文章还提供了部分代码和Abaqus操作步骤。另外,作者还建立了关于Abaqus的学习交流群,欢迎加入并提问。 ... [详细]
  • Linux Shell脚步的格式
    Shell脚步等多个命令的组合,可以做成一个shell文件(1.sh)赋权执行执行命令的方式前两张新的进程中执行,对当前进程不产生影响(cdtmp;pwds ... [详细]
  • MR程序的几种提交运行模式本地模型运行1在windows的eclipse里面直接运行main方法,就会将job提交给本地执行器localjobrunner执行-- ... [详细]
  • .babelrc是用来设置转码规则和插件的,这种文件在window上无法直接创建,也无法在HBuilder中创建,甚至无法查看,但可以在sublimetext中创建、查看并编辑。当 ... [详细]
author-avatar
verde公寓_401
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有