luy
Version:
所谓类```React```框架就是**和React用法一模一样**的框架。其实当初制造这个框架的目的是为了能更好的学习React内部结构,了解其原理而制作的玩具。但是随着框架的渐渐成长,代码越来越多,我还是决定将其发展下去. 
38 lines (37 loc) • 1.19 kB
JavaScript
(function umd(root, factory) {
if (typeof exports === "object" && typeof module === "object") {
module.exports = factory();
} else if (typeof define === "function" && define.amd) {
define([], factory);
} else if (typeof exports === "object") {
exports.ReactShallowRenderer = factory();
} else {
root.ReactShallowRenderer = factory();
}
})(this, function() {
function checkNull(vnode) {
if (vnode === null || vnode === false) {
return { type: "#comment", text: "empty", vtype: 0 };
}
return vnode;
}
return function ReactShallowRenderer() {
return {
render: function(vnode) {
var ret;
if (vnode.vtype === 2) {
ret = checkNull(new vnode.type());
ret = checkNull(ret);
} else if (vnode.vtype === 4) {
ret = checkNull(vnode.type());
} else {
ret = vnode;
}
this.ret = ret;
},
getRenderOutput: function() {
return this.ret;
}
};
};
});