本文整理汇总了TypeScript中react-fiber-export.IRenderer.getPublicRootInstance方法的典型用法代码示例。如果您正苦于以下问题:TypeScript IRenderer.getPublicRootInstance方法的具体用法?TypeScript IRenderer.getPublicRootInstance怎么用?TypeScript IRenderer.getPublicRootInstance使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类react-fiber-export.IRenderer
的用法示例。
在下文中一共展示了IRenderer.getPublicRootInstance方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。
示例1: renderSubtreeIntoContainer
function renderSubtreeIntoContainer(reconciler: IRenderer,
contextSymbol: symbol,
rootContainerSymbol: symbol,
parentComponent: React.Component<any, any> | null,
children: any,
container: any,
forceHydrate: boolean,
callback: () => void) {
if (forceHydrate) {
throw new Error("forceHydrate not implemented yet");
}
let root = container[rootContainerSymbol];
if (!root) {
const newRoot = reconciler.createContainer(container);
container[rootContainerSymbol] = newRoot;
const renderActionsForContainer: RenderAction[] = [];
if (container[contextSymbol] === undefined) {
// noinspection UnnecessaryLocalVariableJS
const rootContext: IHostContext = {
triggerRender() {
// console.log("render triggered for", renderActionsForContainer);
renderActionsForContainer.forEach((action: RenderAction) => {
action.triggerRender();
});
},
renderActionFound(action: RenderAction) {
// console.log("render action found", action);
renderActionsForContainer.push(action);
},
};
container[contextSymbol] = rootContext;
}
root = newRoot;
reconciler.unbatchedUpdates(() => {
reconciler.updateContainer(children, newRoot, parentComponent, callback);
});
} else {
reconciler.updateContainer(children, root, parentComponent, callback);
}
return reconciler.getPublicRootInstance(root);
}