React启蒙系列学习React前需要理解的名词

学习React前需要理解的名词

这是React启蒙系列的第二篇,本篇内容比较简单,用于阐述React初学者容易迷惑的一些名词。如果大家对本系列感兴趣,欢迎在GitBook订阅

在正式开始讲解React的机制之前,先之后学习React过程中会遇到的一些名词做一些讲解,是非常有必要的,这样能让后续学习少些迷惑。(原文中这些名词以字母表顺序组织,所以存在前面的名词解释涉及到后面的名词时,可能需要您跳转着阅读。不过这样来回的阅读,虽然麻烦,但是能让记忆更加深刻,所以译文仍以字母顺序表示。)

Babel

Babel是一个转换JavaScript ES*(JS2015,2016,2017)语句为ES5语句的工具。使用Babel,可以放心的在React中使用JavaScript可能还未被浏览器完全兼容的语法了。在React中,Babel也会转换JSX为ES5语句。

Babel CLI

Babel命令行工具,安装后可以通过命令行转换代码了。

Component Configuration Options

传递给React.createClass()的参数,是一个数组,里面包含一系列函数,使用此函数后会得到一个React Component的实例。

Component Life Circle Methods(组件生命周期函数)

组件中的一组事件,从语义上也可以看出其会在组件存在的不同阶段被执行。

(i.e.,componentwillUnmount,componentDidUpdate,componentwillUpdate,shouldComponentUpdate,componentwillReceiveProps,componentDidMount,componentwillMount).

Document Object Model(DOM)文档对象模型

文档对象模型 (DOM) 是 HTML 和 XML 文档的编程接口。它给文档(结构树)提供了一个结构化的表述并且定义了一种方式—程序可以对结构树进行访问,以改变文档的结构,样式和内容。 DOM 提供了一种表述形式— 将文档作为一个结构化的节点组以及包含属性方法的对象。从本质上说,它将 web 页面和脚本或编程语言连接起来了。MDN

ES

ES5

ECMAScript 标准的第5版,ECMA5.1在2011年6月推出。

ES6/ES 2015

ECMAScript 标准的第6版,于ECMA5.1在2015年6月推出。

ES7/ES 2016

将会在2016年推出的JavaScript语义的新版本

ES*

这个名词用于代表,现在以及将来的JavaScript标准,当你看到这个词的时候,你可能发现ES5,ES6甚至ES7的语法在混合使用。

JSX

JSX是一种可选的类XML的JavaScript的语法拓展,它用于在JavaScript文件中定义类Html树形结构。JSX必须被装换为JavaScript语句才能被浏览器识别渲染,Babel是React推荐的转换工具。

Node.js

Node.js是一个开源,跨平台的JavaScript运行环境(想想Java),这个运行环境依托于Google V8 JS引擎解释JavaScript语句

npm

node.js社区提供的JavaScript包管理器

React Attributes/Props

props可以用两种理解,一是可以被当做构建React节点的参数,二是可以被理解为HTML标签属性。具体如下

  • props一个已知HTML属性相同时,当他被加入最终DOM中的HTML元素时,它就是该元素的属性

  • 当被传入React.createElement()中当做参数时,也可以是React node实例里的各种值。

  • 一些特殊的用法,比如说keyrefdangerouslySetInnerHtml

React Component(React 组件)

一般组件

调用React.createClass()(ES6中为React.Component)时,一个React组件会被创建。这个方法一个对象作为参数(对象中包含多个函数),用于创建具体的React组件,最常见的函数render(),这个方法用于返回React nodes。一个React组件中可包含多个React节点或React组件。

React Stateless Function Component(无状态函数组件)

如果一个组件里只需要props而不需要state,那么这个组件可以由纯函数方式创建,而不需要构建一个React组件的实例。

var MyComponent = function(props){

 return <div>Hello {props.name}</div>;

};

ReactDOM.render(<MyComponent name="doug" />,app);

React nodes

React nodes

用于表现Virtual DOM的类HTML元素节点,React中最基础的对象类型,可由React.createElement('div')创建,用以代表DOM节点和子DOM节点,它具有轻量的,无状态,不可变的特点。

React Node Factories

一个构建特点类型的React nodes的方法<div>、<li>等等)

React Text节点

Virtual DOM中的文本节点可以由React.createElement('div',null,'a text node')创建。

React

React是一个开源的JavaScript框架,用它可以构建清晰,高效,具有弹性的用户界面。

Virtual DOM

由React节点和组件构建的JavaScript树形结构,用于高效的重构HTML中的真实DOM。

Webpack

一个组件管理和打包的工具,它可以很好的处理组件之间的依赖关系,并且可以产生静态的文件来代表这些组件。

链接

原文
本文在Gitbook上的链接

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


react 中的高阶组件主要是对于 hooks 之前的类组件来说的,如果组件之中有复用的代码,需要重新创建一个父类,父类中存储公共代码,返回子类,同时把公用属性...
我们上一节了解了组件的更新机制,但是只是停留在表层上,例如我们的 setState 函数式同步执行的,我们的事件处理直接绑定在了 dom 元素上,这些都跟 re...
我们上一节了解了 react 的虚拟 dom 的格式,如何把虚拟 dom 转为真实 dom 进行挂载。其实函数是组件和类组件也是在这个基础上包裹了一层,一个是调...
react 本身提供了克隆组件的方法,但是平时开发中可能很少使用,可能是不了解。我公司的项目就没有使用,但是在很多三方库中都有使用。本小节我们来学习下如果使用该...
mobx 是一个简单可扩展的状态管理库,中文官网链接。小编在接触 react 就一直使用 mobx 库,上手简单不复杂。
我们在平常的开发中不可避免的会有很多列表渲染逻辑,在 pc 端可以使用分页进行渲染数限制,在移动端可以使用下拉加载更多。但是对于大量的列表渲染,特别像有实时数据...
本小节开始前,我们先答复下一个同学的问题。上一小节发布后,有小伙伴后台来信问到:‘小编你只讲了类组件中怎么使用 ref,那在函数式组件中怎么使用呢?’。确实我们...
上一小节我们了解了固定高度的滚动列表实现,因为是固定高度所以容器总高度和每个元素的 size、offset 很容易得到,这种场景也适合我们常见的大部分场景,例如...
上一小节我们处理了 setState 的批量更新机制,但是我们有两个遗漏点,一个是源码中的 setState 可以传入函数,同时 setState 可以传入第二...
我们知道 react 进行页面渲染或者刷新的时候,会从根节点到子节点全部执行一遍,即使子组件中没有状态的改变,也会执行。这就造成了性能不必要的浪费。之前我们了解...
在平时工作中的某些场景下,你可能想在整个组件树中传递数据,但却不想手动地通过 props 属性在每一层传递属性,contextAPI 应用而生。
楼主最近入职新单位了,恰好新单位使用的技术栈是 react,因为之前一直进行的是 vue2/vue3 和小程序开发,对于这些技术栈实现机制也有一些了解,最少面试...
我们上一节了了解了函数式组件和类组件的处理方式,本质就是处理基于 babel 处理后的 type 类型,最后还是要处理虚拟 dom。本小节我们学习下组件的更新机...
前面几节我们学习了解了 react 的渲染机制和生命周期,本节我们正式进入基本面试必考的核心地带 -- diff 算法,了解如何优化和复用 dom 操作的,还有...
我们在之前已经学习过 react 生命周期,但是在 16 版本中 will 类的生命周期进行了废除,虽然依然可以用,但是需要加上 UNSAFE 开头,表示是不安...
上一小节我们学习了 react 中类组件的优化方式,对于 hooks 为主流的函数式编程,react 也提供了优化方式 memo 方法,本小节我们来了解下它的用...
开源不易,感谢你的支持,❤ star me if you like concent ^_^
hel-micro,模块联邦sdk化,免构建、热更新、工具链无关的微模块方案 ,欢迎关注与了解
本文主题围绕concent的setup和react的五把钩子来展开,既然提到了setup就离不开composition api这个关键词,准确的说setup是由...
ReactsetState的执行是异步还是同步官方文档是这么说的setState()doesnotalwaysimmediatelyupdatethecomponent.Itmaybatchordefertheupdateuntillater.Thismakesreadingthis.staterightaftercallingsetState()apotentialpitfall.Instead,usecom