学react前学什么?

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

那么学react前学什么?

  • JavaScript 基础

  • ES6

  • 模块化

  • 命令行存活与包管理器

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

JavaScript 基础

俗话说的好,要想建高楼,先把地基打深。React 说到底还是一个 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 已经很好用了)

Image placeholder
前端答疑
未设置
  21人点赞

没有讨论,发表一下自己的看法吧

推荐文章
有vue基础学react难吗?

React是一个用于前端开发的开源JavaScript库,由Facebook开发。其基于组件的库使您可以为Web应用程序构建高质量的用户界面。vue.js是一个构建用户界面的渐进式框架。采用自底向上增

IT技术培训学什么好?哪个专业好找工作?

  IT技术培训学什么好?哪个专业好找工作?目前IT行业,学习java和Python开发比较多,java学习的人数太多,Python近几年才火起来,也不需要非常高的专业基础,目前对于数据分析方面的人才

IOS APP开发需要学什么知识和技能?

IOSAPP开发需求学什么学问和技艺?目前IOS系统的APP和Android系统的APP,是手机APP开发的两大主流。就拿IOS系统的APP开发来说,需求和安卓完整不同的开发言语和工具。本文着重来讨论

create-react-app是什么?

create-react-app是用于搭建react项目的脚手架。它的优势在于省略了很多涉及配置的地方,让新手能够更加容易上手,减低入门的门槛。使用脚手架create-react-app1.准备工作操

vue和react是什么?

vue是什么?有什么用?Vue.js是一款流行的JavaScript前端框架,一个用于创建用户界面的开源JavaScript框架,旨在更好地组织与简化Web开发。Vue所关注的核心是MVC模式中的视图

vue和react的区别是什么?

vue和react的区别1、监听数据变化的实现原理不同Vue通过getter/setter以及一些函数的劫持,能精确知道数据变化。React默认是通过比较引用的方式(diff)进行的,如果不优化可能导

react jsx是什么?

什么是JSX?JSX即JavaScriptXML,是一种在React组件内部构建标签的类XML语法。JSX为react.js开发的一套语法糖,也是react.js的使用基础。React在不使用JSX的

react native是什么?

ReactNative使用Javascript语言,类似于HTML的JSX,以及CSS来开发移动应用,因此熟悉Web前端开发的技术人员只需很少的学习就可以进入移动应用开发领域。ReactNative使

React Developer Tools是什么?

ReactDeveloperTools是一款由facebook开发的有用的Chrome浏览器扩展。通过它我们可以查看应用程序的React组件分层结构,而不是更加神秘的浏览器DOM表示。注意:该插件只对

vue和react的主要区别是什么?

Vue是一套构建用户界面的渐进式框架。与其他重量级框架不同的是,Vue采用自底向上增量开发的设计,其核心库只关注视图层,并且非常容易学习,也易与其它库或已有项目整合。另一方面,Vue完全有能力驱动采用

weex和React Native的区别是什么?

weex简介:weex是阿里巴巴公司与2016年6月开源的一种用于构建移动跨平台的UI框架特点:Lightweight:轻量级,语法简单,易于使用Extendable:可扩展,丰富内置组件,可扩展的A

react native的优缺点是什么?

ReactNative使用Javascript语言,类似于HTML的JSX,以及CSS来开发移动应用,因此熟悉Web前端开发的技术人员只需很少的学习就可以进入移动应用开发领域。reactnative的

react和jquery的区别是什么?

首先我们要注意的是,虽然我们这里把React和JQuery拿到一个台面上来说,但是这两者是有本质区别的。React是一个UI库,但是JQuery更多的知识一个工具库或者说是插件库,我们之所以把这两者谈

react中的webpack是什么?

Webpack是一个开源的前端打包工具。Webpack提供了前端开发缺乏的模块化开发方式,将各种静态资源视为模块,并从它生成优化过的代码。Webpack可以从终端、或是更改webpack.config

前端react是什么?

前端react是什么?前端react指的是reactjs,是Facebook推出的一个用来构建用户界面的JavaScript库。React主要用于构建UI,很多人认为React是MVC中的V(视图)。

vue和react相似和区别是什么?

vue和react的相似之处使用虚拟dom提供了响应式和组件化的视图组件关注核心库,伴随于此,有配套的路由和负责处理全局状态管理的库都支持服务器端的渲染都支持native方案,React的reactn

你真的了解 React 吗?这里有 50 个 React 面试问题

如果你是一位有理想的前端开发人员,并且正在准备面试,那么这篇文章就是为你准备的。本文收集了React面试中最常见的50大问题,这是一份理想的指南,让你为React相关的面试做好充分的准备工作。首先我

React Hooks 完全指南,读React作者博文感悟(2W字精华)

阅读facebook大佬:DanAbramov的文章颇有感悟大佬github地址https://github.com/gaearon 重点总结 useEffect是同步的 状态是捕获的当前props

dreamweaver和css的区别是什么?

DreamweaverAdobeDreamweaver,简称“DW”,中文名称"梦想编织者",是美国MACROMEDIA公司开发的集网页制作和管理网站于一身的所见即所得网页编辑器。DW是第一套针对专业

jquery中children()和find()的区别是什么?

jquery中children()和find()的区别children(selector)方法是返回匹配元素集合中每个元素的所有子元素(仅儿子辈)。参数可选,添加参数表示通过选择器进行过滤,对元素进行

jquery中deferred对象是什么?

jquery中deferred对象是什么?Deferred是JQuery的一个延迟对象,意思是函数延迟到某个点才开始执行,改变执行状态的方法有两个(成功:resolve和失败:reject),分别对应

如何在浏览器中获取 Production Mode 的 React 实例

https://github.com/LiuuY/Blog...在ProductionMode下,React并没有暴露其实例。无论什么原因如果你要获取的话可以参考以下方法。条件浏览器安装了ReactD

Node.js 到底是什么?

Node.js是一个JavaScript的运行环境,听起来很棒,然而是什么意思呢?它又是怎么使用的呢? Node运行环境涵盖所有你运行用JavaScript编写的项目所需要的东西。如果你知道Java的

安卓被曝的严重漏洞是什么?

相信涉及用户隐私的网络安全问题,一直都是大家关注的焦点。近来,安卓被爆存在严重漏洞。那么,安卓被曝的严重漏洞到底是什么呢?原来,在安卓系统的相机App中,以色列的一家安全公司发现恶意软件可以通过存储访

大会资料下载|热门技术风口下开发者应该关注些什么?

4月16日,OracleCode2019开发者大会在深圳圆满落幕。今年的大会有将近1000名开发者齐聚现场,45万码农同时在线观看直播。现场,来自国内外的技术专家,围绕云计算、自治数据库、IoT、区块