luy
Version:
所谓类```React```框架就是**和React用法一模一样**的框架。其实当初制造这个框架的目的是为了能更好的学习React内部结构,了解其原理而制作的玩具。但是随着框架的渐渐成长,代码越来越多,我还是决定将其发展下去. 
35 lines (26 loc) • 976 B
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
var _extends2 = require('babel-runtime/helpers/extends');
var _extends3 = _interopRequireDefault(_extends2);
exports.cloneElement = cloneElement;
var _createElement = require('./createElement');
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function cloneElement(vnode, props) {
var config = void 0,
children = void 0;
for (var propName in vnode.props) {
if (propName === 'children') {
children = vnode.props[propName];
} else {
config[propName] = vnode.props[propName];
}
}
config = (0, _extends3.default)({}, config, props);
var newKey = props.key ? props.key : vnode.key;
var newRef = props.ref ? props.ref : vnode.ref;
config['key'] = newKey;
config['ref'] = newRef;
return (0, _createElement.createElement)(vnode.type, config, children);
}