- 浏览: 208458 次
最新评论
文章列表
ReactTransitionGroup模块通过ReactWithAddons模块提供外部接口,还被ReactCSSTransitionGroup模块调用;用于操控子节点componentWillAppear等方法的执行时机,以及由上层组件提供的childFactory方法劫持渲染子节点。
'use strict';
var _assign = require('object-assign');
// 构造函数作为普通函数调用报错
function _classCallCheck(instance, Constructor) {
if (!(instance i ...
ReactTransitionChildMapping模块getChildMapping方法将props.children扁平化;mergeChildMappings方法用于将更新前扁平化的props.children顺序插入到更新后的props.children中。
'use strict';
// 根据key值将子节点扁平化
var flattenChildren = require('./flattenChildren');
var ReactTransitionChildMapping = {
// 获取子节点的扁平化数据
getChildMappin ...
flattenChildren模块用于将props.children子节点根据key值加以扁平化后输出。
/**
* Copyright 2013-present, Facebook, Inc.
* All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent ...
onlyChild
- 博客分类:
- react源码v=15.4.2
'use strict';
var _prodInvariant = require('./reactProdInvariant');
var ReactElement = require('./ReactElement');
var invariant = require('fbjs/lib/invariant');
// 校验children是否单个reactElement
function onlyChild(children) {
!ReactElement.isValidElement(children) ?
process.env.NOD ...
React
- 博客分类:
- react源码v=15.4.2
React提供调用接口。包含创建ReactComponent组件、ReactElement元素、校验propsType、操纵props.children等。
'use strict';
var _assign = require('object-assign');
var ReactChildren = require('./ReactChildren');
var ReactComponent = require('./ReactComponent');
var ReactPureComponent = require('./ReactPureComponent'); ...
ReactDOMFactories模块为React封装的Dom组件。
'use strict';
var ReactElement = require('./ReactElement');
var createDOMFactory = ReactElement.createFactory;
if (process.env.NODE_ENV !== 'production') {
var ReactElementValidator = require('./ReactElementValidator');
createDOMFactory = ReactElem ...
traverseAllChildren模块供ReactChildren模块使用,用于遍历ReactNode形式的集合props.children或其他props属性。
traverseAllChildren(children,function(traverseContext,child,name){}, traverseContext){}函数的第三个参数将作为回调函数的首参。ReactChildren模块调用traverseAllChildren时,traverseContext存储遍历的执行函数,用于执行traverseContext.func方法;flattenChildren模块调 ...
KeyEscapeUtils模块
'use strict';
function escape(key) {
var escapeRegex = /[=:]/g;
var escaperLookup = {
'=': '=0',
':': '=2'
};
var escapedString = ('' + key).replace(escapeRegex, function (match) {
return escaperLookup[match];
});
return '$' + escapedString;
} ...
ReactChildren
- 博客分类:
- react源码v=15.4.2
ReactChildren模块用于处理props.children。props.children可以是数组(包含数组项为ReactNode数组的情形)或单个reactNode形式,
'use strict';
// PooledClass.addPoolingTo将某构造函数装饰为可存储实例池,getPooled创建实例,release销毁实例数据
var PooledClass = require('./PooledClass');
var ReactElement = require('./ReactElement');
var emptyFunction = r ...
getIteratorFn模块,用于获取迭代器
'use strict';
var ITERATOR_SYMBOL = typeof Symbol === 'function' && Symbol.iterator;
var FAUX_ITERATOR_SYMBOL = '@@iterator'; // Before Symbol spec.
/**
* 获取迭代器iterator,iterator含有next方法获取下一个值,next方法返回值done属性判断迭代是否完成
* 机理不明???
*
* var iteratorFn = ge ...
ReactPureComponent模块用于创建PureComponent纯组件,特别,当继承ReactPureComponent的组件构造函数没有shouldComponentUpdate原型方法时,在ReactCompositeComponent模块中将使用shallowCompare浅比较React组件是否重绘。
'use strict';
var _assign = require('object-assign');
var ReactComponent = require('./ReactComponent');
var ReactNoopUpdateQueue ...
ReactElementValidator模块,对外接口,内部调用ReactElement,用于创建、克隆ReactElement,或创建ReactElement的工厂函数,将校验组件的构造函数、使用propsType校验props、校验props.children是否ReactElement及多个子元素时包含key。
'use strict';
// 保存容器组件,即用户自定义组件的ReactCompositeComponent实例,添加ref引用的需要
// 同时用于提示用户加载的组件模块书写错误
var ReactCurrentOwner = require('./R ...
ReactElement
- 博客分类:
- react源码v=15.4.2
ReactElement模块用于创建ReactElement。
特别的,当用户自定义组件的render方法中调用React.createElement方法时,将向子组件元素注入容器组件的ReactCompositeComponent,意义时使当前子组件元素添加为容器组件元素的ref引用成为可能。
'use strict';
var _assign = require('object-assign');
// 保存容器组件,即用户自定义组件的ReactCompositeComponent实例,添加ref引用的需要
var ReactCurrentOwner = requi ...
ReactClass
- 博客分类:
- react源码v=15.4.2
ReactClass用于创建自定义组件的构造函数。
'use strict';
var _prodInvariant = require('./reactProdInvariant'),// 生产环境React形式带url报错
_assign = require('object-assign');
// 基本的组件构造函数,内部实现setState、forceUpdate方法,用于更新state属性,重绘组件
var ReactComponent = require('./ReactComponent');
var ReactElement = requi ...
checkReactTypeSpec 触发props、context、childContext的校验函数。由“react-dom"包下的ReactCompositeComponent模块创建组件实例时调用,校验context、childContext;或者由"react"包下的ReactElementValidator模块调用创建ReactElement时调用,校验props。
/**
* Copyright 2013-present, Facebook, Inc.
* All rights reserved.
*
* This sourc ...