@eva/fiber-eva
Version:
React EVA是一个让开发同学能够在React技术体系下,利用EVA JS的游戏研发能力,开发动画、游戏类场景的框架。它可以让开发同学用熟悉的JSX和Hooks语法编写动画、游戏场景的代码。
42 lines (32 loc) • 1.28 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
exports.__esModule = true;
exports["default"] = void 0;
var _renderer = _interopRequireDefault(require("./renderer"));
// const containers = new Map<FiberRoot, any>();
function getPublicRootInstance(container) {
var containerFiber = container.current;
if (!containerFiber.child) {
return null;
}
return containerFiber.child.stateNode;
}
var _createRenderer = (0, _renderer["default"])(),
createInstance = _createRenderer.createInstance,
reconciler = _createRenderer.reconciler; // export {createInstance, reconciler};
var Reconciler = {
render: function render(element, container, props) {
// Create a root Container if it doesnt exist
if (!container._rootContainer) {
container._rootContainer = reconciler.createContainer(container, false);
createInstance(props);
}
return reconciler.updateContainer(element, container._rootContainer, null); // return getPublicRootInstance(container);
},
unmountComponentAtNode: function unmountComponentAtNode(container) {
reconciler.updateContainer(null, container._rootContainer, null, function () {//noop
});
}
};
var _default = Reconciler;
exports["default"] = _default;