`
文章列表
rc-trigger用于绘制触发节点及相应浮层。   Trigger.js 'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); var _extends2 = require('babel-runtime/helpers/extends'); var _extends3 = _interopRequireDefault(_extends2); var _react = require('react'); var _react2 = _i ...

areEqual

areEqual用于比较引用类型或基本类型数据是否完全相等。   'use strict'; var aStackPool = []; var bStackPool = []; // 完全相等比较 function areEqual(a, b) { // aStackPool、bStackPool有值时取出,通常经过一次比较后aStackPool、bStackPool存入单 ...

egg-bin dev机制

1.项目文件package.json中添加script:{start:"egg-bin dev"}语句,执行npm start命令将调用egg-bin包的启动命令。   2.egg-bin包下bin文件夹添加egg-bin.js文件,同时package.json中添加bin:{"egg-bin":"bin/egg-bin.js"}语句,可使命令行执行脚本时无需使用node file形式。 #!/usr/bin/env node 'use strict'; const run = require('common-bin ...
ReactFragment模块用于向子节点集合添加key值。   'use strict'; var _prodInvariant = require('./reactProdInvariant'); var ReactChildren = require('./ReactChildren'); var ReactElement = require('./ReactElement'); var emptyFunction = require('fbjs/lib/emptyFunction'); var invariant = require('fbjs/lib/inv ...

update

update模块用于快速作数据处理。   'use strict'; var _prodInvariant = require('./reactProdInvariant'), _assign = require('object-assign'); var invariant = require('fbjs/lib/invariant'); var hasOwnProperty = {}.hasOwnProperty; function shallowCopy(x) { if (Array.isArray(x)) { return x.conc ...
ReactStateSetters用于更新state[key]值。   'use strict'; var ReactStateSetters = { // 本模块的ReactStateSetters.Mixin.createStateSetter更灵活地实现自动更新组件的state createStateSetter: function (component, funcReturningState) { return function (a, b, c, d, e, f) { var partialState = funcReturningSta ...

ReactLink

ReactLink模块被LinkedStateMixin模块调用,用于实现双向绑定功能。   'use strict'; /** * React.createClass({ * getInitialState: function() { * return {value: ''}; * }, * render: function() { * var valueLink = new ReactLink(this.state.value, this._handleValueChange); * return <input ...
LinkedStateMixin模块为组件提供linkState方法,用于构建linkState(key)函数,自动更新组件state[key]值,实现双向绑定。   'use strict'; // 构建对象{value,requestChange},value为初始值,requestChange为方法,须手动调用 // 在本模块中,value为state[key]的初始值,requestChange用于更新state[key] var ReactLink = require('./ReactLink'); // 设定属性key后,返回函数,该函数接受value,内部调用 ...
shallowCompare浅比较,判断组件是否需要重绘。   'use strict'; var shallowEqual = require('fbjs/lib/shallowEqual'); // 比较更新前后的props、state,值不等、对象不包含相同的属性或其属性值不等时,返回true进行组件重绘 function shallowCompare(instance, nextProps, nextState) { return !shallowEqual(instance.props, nextProps) || !shallowEqual(instance ...

shallowEqual

shallowEqual比较值相等,或者对象含有相同的属性、且属性值相等。   'use strict'; var hasOwnProperty = Object.prototype.hasOwnProperty; // 比较值相等 function is(x, y) { // SameValue algorithm if (x === y) { // Steps 1-5, 7-10 // Steps 6.b-6.e: +0 != -0 // Added the nonzero y check to make Flow happy, ...
ReactCSSTransitionGroup实现子节点挂载、添加、移除时的css动画。   'use strict'; var _assign = require('object-assign'); // 构造函数作为普通函数调用报错 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); ...
ReactTransitionEvents模块用于绑点或解绑animationend、transitionend事件。   'use strict'; // 检测平台如浏览器的部分能力 var ExecutionEnvironment = require('fbjs/lib/ExecutionEnvironment'); // 针对浏览器兼容性获取不同的事件名,如animationend、webkitanimationend、mozanimationend、MSanimationend、oanimationend var getVendorPrefixedEventName ...
getVendorPrefixedEventName用于获取当前浏览器下anmation、transition类事件名。   'use strict'; // ExecutionEnvironment.canUseDOM用于判断平台是否可以操作dom节点 var ExecutionEnvironment = require('fbjs/lib/ExecutionEnvironment'); // 获取不同浏览器下animationend、animationiteration、animationstart、transitionend类事件的名称 function makePr ...
ReactCSSTransitionGroupChild模块实现了ReactCSSTransitionGroup的子组件切换样式的机制,样式切换的时机由ReactTransitionGroup模块完成,具体为子组件挂载、从ReactCSSTransitionGroup组件中添加或移除时触发appear类样式持续props.appearTimeout时间。   'use strict'; var React = require('./React'); // ReactAddonsDOMDependencies.getReactDOM()获取"react-dom" ...

CSSCore

CSSCore用于添加、移除、判断是否包含某个样式类,以及是否某个校验器。   'use strict'; // 首参否值报错 var invariant = require('./invariant'); // 通过父节点判断元素element是否匹配某个选择器selector function matchesSelector_SLOW(element, selector) { var root = element; while (root.parentNode) { root = root.parentNode; } var all ...
Global site tag (gtag.js) - Google Analytics