react-dom源码v=15.4.2
文章平均质量分 81
schifred
这个作者很懒,什么都没留下…
展开
-
EventPluginRegistry
EventPluginRegistry加载并获取事件插件模块如SimpleEventPlugin等,并约定此类插件构建合成事件对象event的顺序。 'use strict';var _prodInvariant = require('./reactProdInvariant');var invariant = require('fbjs/lib/invariant');...2017-03-23 21:54:57 · 375 阅读 · 0 评论 -
ReactUpdates源码(待定)
ReactUpdates模块约定组件重绘过程的前后钩子,包含ReactReconcileTransaction模块的前后钩子(可添加componentDidUpdate回调,及向组件提供updater参数,以使setState等方法可用),以及本模块ReactUpdatesFlushTransaction函数设定的前后钩子(可添加组件重绘完成后的回调callback);通过ReactUpdate...2017-02-03 22:59:05 · 169 阅读 · 0 评论 -
ReactDefaultBatchingStrategy源码
ReactDefaultBatchingStrategy模块用于使ReactUpdates.enqueueUpdate方法实现向dirtyComponents中添加脏组件,并重绘组件的功能,这一过程在ReactDefaultBatchingStrategy.isBatchingUpdates为否值时触发;ReactDefaultBatchingStrategy.isBatchingUpdates...2017-02-04 21:29:24 · 170 阅读 · 0 评论 -
ReactReconciler
ReactReconciler模块用于发起顶层组件或子组件的挂载、卸载、重绘机制。 'use strict';// 创建、销毁、比对reactElement的refs属性相关var ReactRef = require('./ReactRef');var ReactInstrumentation = require('./ReactInstrumentation');...2017-02-05 21:37:17 · 1050 阅读 · 0 评论 -
ReactRef
ReactRef模块提供方法用于向顶层用户自定义组件实例添加或移除refs、或比较refs是否需要更新。通过ReactRonconcile模块间接被ReactCompositeComponent模块调用。 'use strict';// 调用顶层用户自定义组件的attachRef、detachRef方法,用于添加refs属性var ReactOwner = require(...2017-02-10 23:17:52 · 131 阅读 · 0 评论 -
ReactOwner
ReactOwner模块用于调用ReactCompositeComponent实例的attachRef、detachRef方法,向用户自定义组件ReactComponent实例添加或移除refs。被ReactRef调用。 'use strict';var _prodInvariant = require('./reactProdInvariant');// 生产环境React形式...2017-02-10 23:30:55 · 248 阅读 · 0 评论 -
ReactUpdateQueue
ReactUpdateQueue模块,一则作为用户自定义组件ReactComponent的参数updater,供ReactComponent实例的setState、replaceState、forceUpdate方法调用ReactUpdateQueue模块的方法,用于更新state,并重绘组件;一则为用户自定义组件ReactComponent提供isMount方法判断组件是否挂载完成;一则为Re...2017-02-11 11:49:38 · 406 阅读 · 0 评论 -
getIteratorFn
getIteratorFn模块,用于获取迭代器 'use strict';var ITERATOR_SYMBOL = typeof Symbol === 'function' && Symbol.iterator;var FAUX_ITERATOR_SYMBOL = '@@iterator'; // Before Symbol spec./** *...2017-02-16 23:13:19 · 256 阅读 · 0 评论 -
traverseAllChildren
traverseAllChildren模块供ReactChildren模块使用,用于遍历ReactNode形式的集合props.children或其他props属性。traverseAllChildren(children,function(traverseContext,child,name){}, traverseContext){}函数的第三个参数将作为回调函数的首参。ReactCh...2017-02-22 21:44:41 · 305 阅读 · 0 评论 -
getVendorPrefixedEventName
getVendorPrefixedEventName用于获取当前浏览器下anmation、transition类事件名。 'use strict';// ExecutionEnvironment.canUseDOM用于判断平台是否可以操作dom节点var ExecutionEnvironment = require('fbjs/lib/ExecutionEnvironment...2017-03-05 10:21:45 · 157 阅读 · 0 评论 -
accumulateInto
accumulateInto(a,b)用于合并a,b两元素,构成新的数组项后返回。 'use strict';var _prodInvariant = require('./reactProdInvariant');var invariant = require('fbjs/lib/invariant');// 合并,保留使用// 当首参为数组,次参为数组时,...2017-03-15 21:25:37 · 185 阅读 · 0 评论 -
forEachAccumulated
forEachAccumulated(arr,cb,scope)首参为数组时,遍历数组项执行回调cb,传参为arr中每一项;首参非数组时,以scope为上下文执行cb,传参为arr。 'use strict';// 首参为数组时,遍历数组项执行回调cb,传参为arr中每一项;首参非数组时,以scope为上下文执行cb,传参为arrfunction forEachAccumul...2017-03-15 21:31:36 · 106 阅读 · 0 评论 -
SyntheticEvent
SyntheticEvent模块将原生事件对象event合成为react机制的合成事件对象,包含触发节点所在的ReactDomComponent实例,以及阻止默认事件、冒泡等方法。合成事件对象的dispatchConfig属性记录相应的事件名,以获取触发事件组件实例及其直系父组件的绑定回调函数,同时该组实例和回调函数添加为合成事件对象的_dispatchInstances、_dispatc...2017-03-16 22:33:41 · 762 阅读 · 0 评论 -
SyntheticAnimationEvent、SyntheticMouseEvent等合成事件对象
SyntheticAnimationEvent模块,基于SyntheticEvent合成的animation动效事件对象,专设animationName、elapsedTime、pseudoElement属性。SyntheticTransitionEvent模块,基于SyntheticEvent合成的transition动效事件对象,专设propertyName、elapsedTime、ps...2017-03-17 22:43:08 · 266 阅读 · 0 评论 -
合成事件对象时的工具函数
getEventTarget模块获取event.target触发事件节点。getEventModifierState模块获取ctrl、alt、shift是否按下的判断函数。getEventKey模块获取键盘按键名。getEventCharCode模块获取键盘按键的字符码charCode,keyCode不区分a和A,charCode区分。 getEventTarget.js...2017-03-17 22:48:25 · 121 阅读 · 0 评论 -
EventPropagators
EventPropagators模块用于向SyntheticEvent等合成对象实例添加_dispatchListeners、_dispatchInstances属性,存储react组件实例及其同类事件的绑定回调函数。 'use strict';// 存储或获取绑定事件的回调函数var EventPluginHub = require('./EventPluginHub')...2017-03-18 15:49:55 · 110 阅读 · 0 评论 -
ReactDOMTreeTraversal
ReactDOMTreeTraversal模块通过ReactDefaultInjection模块添加为EventPluginUtils模块的ComponentTree,供react合成事件对象获取_dispatchListeners、_dispatchInstances绑定回调函数及组件实例使用。 // ReactDOMTreeTraversal模块通过ReactDefaultInjec...2017-03-18 16:20:07 · 105 阅读 · 0 评论 -
EventPluginUtils
EventPluginUtils模块用于为为合成事件对象添加绑定的回调函数及关联的组件实例,或者获取绑定的回调函数并执行。 'use strict';var _prodInvariant = require('./reactProdInvariant');// 用于try-catch形式执行某个约定参数的回调函数var ReactErrorUtils = requir...2017-03-19 13:39:13 · 166 阅读 · 0 评论 -
ReactCompositeComponent源码(待定)
ReactCompositeComponent模块用于实例化组件、及完成组件元素的挂载、重绘组件等。 'use strict';var _prodInvariant = require('./reactProdInvariant'),// 生产环境React形式带url报错 _assign = require('object-assign');var Rea...2017-02-02 09:38:02 · 577 阅读 · 0 评论 -
ReactReconcileTransaction源码(待定)
ReactReconcileTransaction模块用于在组件元素挂载前后执行指定的钩子函数,特别是componentDidMount、componentDidUpdate生命周期调用方法,其次是向组件实例注入updater参数,实现setState、replaceState、forceUpdate方法。 'use strict';var _assign = require(...2017-01-31 21:05:33 · 191 阅读 · 0 评论 -
Transaction源码
Transaction模块用于实现,某构造函数的实例调用perform(method,args)方法时,在method函数执行前后调用特定钩子函数的功能。成对的前置钩子initialize函数和后置钩子close函数以数组形式添加,且前置钩子initialize函数用于向后置钩子close函数提供参数,在method函数前调用;后置钩子close在method函数后调用。构造函数需原型继承T...原创 2017-01-29 00:04:17 · 178 阅读 · 0 评论 -
SimpleEventPlugin等事件插件
SimpleEventPlugin、EnterLeaveEventPlugin、ChangeEventPlugin、SelectEventPlugin、BeforeInputEventPlugin事件插件调用SyntheticEvent等构造函数创建合成事件对象(该过程在事件触发时执行,因此对不能绑定事件回调函数的兼容性问题,可以在事件插件中人工绑定react型事件的回调函数;react型事件...2017-03-25 22:29:24 · 420 阅读 · 0 评论 -
事件插件的工具函数
isTextInputElement判断节点是否extarea或input元素。getTextContentAccessor通过'textContent'或'innerText'属性获取节点的文本。FallbackCompositionState获取输入框或文本框更新的值。getNodeForCharacterOffset获取选中文案起始位置或结束位置的节点,root为选中文案的祖先...2017-03-26 12:45:29 · 166 阅读 · 0 评论 -
ReactEventListener
ReactEventListener模块通过ReactDefaultInjection模块加载为ReactBrowserEventEmitter模块的ReactEventListener属性,提供的功能是react方式监听节点事件,在事件回调中执行ReactEventListener.dispatchEvent方法——构建合成事件对象、并执行该系列合成事件对象的绑定回调,当存在脏组件时,重绘组件...2017-03-26 17:21:22 · 638 阅读 · 0 评论 -
ReactBrowserEventEmitter
ReactBrowserEventEmitter模块区别EventPulginHub模块,后者用于缓存或获取组件实例的绑定函数,前者为节点绑定切实的回调函数,该回调函数执行过程中构建合成事件对象,获取组件实例的绑定回调并执行,若有state变更,则重绘组件。 'use strict';var _assign = require('object-assign');// 获取...2017-03-27 19:45:55 · 252 阅读 · 0 评论 -
ReactEventEmitterMixin
ReactEventEmitterMixin模块为ReactBrowserEventEmitter.ReactEventListener提供_handleTopLevel方法,用于构建合成事件对象,并执行组件实例的绑定函数。 'use strict';// 存储绑定回调函数、构建合成事件对象(同时向合成事件对象注入绑定回调函数)、触发绑定回调函数的执行var EventPlu...2017-03-27 19:47:05 · 166 阅读 · 0 评论 -
DOMPropertyOperations
DOMPropertyOperations节点属性操作,用于添加或移除节点属性。 'use strict';var DOMProperty = require('./DOMProperty');var ReactDOMComponentTree = require('./ReactDOMComponentTree');var ReactInstrumentation = ...2017-03-31 22:43:18 · 135 阅读 · 0 评论 -
DOMProperty
DOMProperty模块用于加载节点属性插件,最终影响DOMPropertyOperation模块对节点属性的添加移除处理。 'use strict';var _prodInvariant = require('./reactProdInvariant');var invariant = require('fbjs/lib/invariant');// 获取是否以n...2017-03-31 23:07:33 · 212 阅读 · 0 评论 -
ARIADOMPropertyConfig等节点属性模块
ARIADOMPropertyConfig、HTMLDOMPropertyConfig、SVGDOMPropertyConfig模块通过ReactDefaultInjection模块加载,约定属性的设置方式,可接受的属性值。 ARIADOMPropertyConfig.js'use strict';var ARIADOMPropertyConfig = { // dom...2017-04-01 20:35:31 · 602 阅读 · 0 评论 -
属性操作类工具函数
quoteAttributeValueForBrowser对经html转义后的字符串包裹上双引号。escapeTextContentForBrowser转义["'&<>]类html字符串,且布尔型和数值型都将转化为字符串格式。 quoteAttributeValueForBrowser.js'use strict';// 布尔型和数值型转化为字符串后输...2017-04-02 09:32:37 · 112 阅读 · 0 评论 -
CSSPropertyOperations
CSSPropertyOperations模块用于拼接样式字符串,或者对节点添加样式。dangerousStyleValue模块对数值或数值型字符串拼接"px"单位,其他转化为字符串输出。CSSProperty模块存储无单位样式名的集合、background等复合样式名的集合。 CSSPropertyOperations.js'use strict';// 无单位样式...2017-04-05 22:56:43 · 744 阅读 · 0 评论 -
DOMLazyTree
DOMLazyTree模块用于向文档中插入、替换节点,以更新子节点或html或text。setInnerHTML模块设置节点的innerHTML。setTextContent模块为文本节点添加nodeValue,其他节点添加textContent或经转义后的innerHTML。createMicrosoftUnsafeLocalFunction模块用于使ie浏览器禁用func函数的h...2017-04-06 23:17:11 · 259 阅读 · 0 评论 -
validateDOMNesting
validateDOMNesting模块用于校验父子节点设置及同名节点嵌套结构设定是否有误。 'use strict';var _assign = require('object-assign');var emptyFunction = require('fbjs/lib/emptyFunction');var warning = require('fbjs/lib/...2017-04-08 13:11:11 · 2033 阅读 · 0 评论 -
ReactDOMContainerInfo
ReactDOMContainerInfo模块构建外层非react绘制dom节点的信息,为内层ReactDomComponent组件实例提供namespaceURI及_ancestorInfo。 'use strict';var validateDOMNesting = require('./validateDOMNesting');var DOC_NODE_TYPE =...2017-04-08 13:30:58 · 195 阅读 · 0 评论 -
ReactChildReconciler
ReactChildReconciler模块用于挂载、卸载、或更新ReactDomComponent子组件。 'use strict';var ReactReconciler = require('./ReactReconciler');// 用于获取ReactCompositeComponent组件实例或ReactDomComponent组件实例var insta...2017-04-30 15:38:30 · 268 阅读 · 0 评论 -
instantiateReactComponent源码
instantiateReactComponent用于将ReactNode转化为用于挂载、更新到页面视图上的实例。 'use strict';var _prodInvariant = require('./reactProdInvariant'),// 生产环境React形式带url报错 _assign = require('object-assign');//...2017-01-26 16:28:32 · 178 阅读 · 0 评论 -
CallbackQueue源码
CallbackQueue模块用于添加、执行、重置回调函数队列,机能同jquery中的同名模块。react中,使用var Export=PooledClass.addPoolingTo(CallbackQueue)工厂化CallbackQueue构造函数,实现功能是管理CallbackQueue实例的创建—— Export.getPooled方法、实例数据(回调函数及其执行上下文)的销毁—...2017-01-27 22:55:39 · 336 阅读 · 0 评论 -
PooledClass源码
PooledClass.addPoolingTo(CopyConstructor)用于将构造函数CopyConstructor转化为工厂函数,意义是管理实例数据的创建和销毁,并将销毁数据的实例推入到实例池CopyConstructor.instancePool中。 'use strict';var _prodInvariant = require('./reactProdInv...2017-01-28 21:38:22 · 122 阅读 · 0 评论 -
EventPluginHub
react的事件机制区别于浏览器原生的在节点上绑定回调函数的机制。react将绑定函数以组件实例为属性存入缓存linstenerBank中,事件触发时构建合成事件对象event,取出linstenerBank中存储的绑定函数,并赋值给event._dispatchListeners,随后取出该回调函数并执行。只有处理特殊的兼容性问题时,react才会给dom节点绑定具体的回调函数。 Ev...2017-03-19 16:52:07 · 313 阅读 · 0 评论