- 浏览: 208016 次
最新评论
文章列表
rc-trigger
- 博客分类:
- react-component组件库
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
- 博客分类:
- react-fbjs源码
areEqual用于比较引用类型或基本类型数据是否完全相等。
'use strict';
var aStackPool = [];
var bStackPool = [];
// 完全相等比较
function areEqual(a, b) {
// aStackPool、bStackPool有值时取出,通常经过一次比较后aStackPool、bStackPool存入单 ...
egg-bin dev机制
- 博客分类:
- egg框架
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
- 博客分类:
- react源码v=15.4.2
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
- 博客分类:
- react源码v=15.4.2
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
- 博客分类:
- react源码v=15.4.2
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
- 博客分类:
- react-fbjs源码
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
- 博客分类:
- react-fbjs源码
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 ...