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'); var ReactClass = require('./ReactClass'); var ReactDOMFactories = require('./ReactDOMFactories'); var ReactElement = require('./ReactElement'); var ReactPropTypes = require('./ReactPropTypes'); var ReactVersion = require('./ReactVersion'); // 校验传参是否单个ReactElement var onlyChild = require('./onlyChild'); // warning(condition,format) condition为否值,替换format中的"%s",并console.error警告 var warning = require('fbjs/lib/warning'); var createElement = ReactElement.createElement; var createFactory = ReactElement.createFactory; var cloneElement = ReactElement.cloneElement; if (process.env.NODE_ENV !== 'production') { var ReactElementValidator = require('./ReactElementValidator'); createElement = ReactElementValidator.createElement; createFactory = ReactElementValidator.createFactory; cloneElement = ReactElementValidator.cloneElement; } var __spread = _assign; if (process.env.NODE_ENV !== 'production') { var warned = false; __spread = function () { process.env.NODE_ENV !== 'production' ? warning(warned,'React.__spread is deprecated and should not be used. Use ' + 'Object.assign directly or another helper function with similar ' + 'semantics. You may be seeing this warning due to your compiler. ' + 'See https://fb.me/react-spread-deprecation for more details.') : void 0; warned = true; return _assign.apply(null,arguments); }; } var React = { // Modern // 操纵类props.children等ReactNode集合的props属性,可以是单个ReactNode或嵌套数组形式的多个ReactNode Children: { map: ReactChildren.map,// 对ReactNode集合内的ReactNode执行遍历函数,并返回新的ReactNode forEach: ReactChildren.forEach,// 只对ReactNode集合内的ReactNode执行遍历函数 count: ReactChildren.count,// 统计ReactNode集合中包含ReactNode的个数 toArray: ReactChildren.toArray,// 将嵌套式的ReactNode集合转化为扁平化的ReactNode数组 only: onlyChild// 校验传参是否单个ReactElement },Component: ReactComponent,// 继承后创建React用户自定义组件 PureComponent: ReactPureComponent,// 继承后创建React用户自定义纯组件pureComponent,浅比较props变更 createElement: createElement,// 创建ReactELement cloneElement: cloneElement,// 克隆ReactELement,改变部分属性 isValidElement: ReactElement.isValidElement,// 校验传参是否ReactElement // Classic PropTypes: ReactPropTypes,// 提供propsType、contextType、childContextType的校验函数 createClass: ReactClass.createClass,// 创建React用户自定义组件,详细约定了部分组件实例方法的定义状况 createFactory: createFactory,// 提供创建ReactELement的工厂函数,该工厂函数预先设置ReactELement关联的组件 createMixin: function (mixin) { return mixin; },DOM: ReactDOMFactories,// React封装的Dom组件 version: ReactVersion,// 版本号 __spread: __spread// 不再使用的方法 }; module.exports = React;