fix render
This commit is contained in:
parent
1125dfd081
commit
0a7b744846
|
|
@ -9,7 +9,6 @@ import { preload } from "../logic/route";
|
|||
import { treePropEval } from "../logic/tree-prop";
|
||||
import { treeScopeEval } from "../logic/tree-scope";
|
||||
import { LTextInternal } from "./l-text";
|
||||
import { createPortal } from "react-dom";
|
||||
|
||||
export const LRender: FC<{
|
||||
id: string;
|
||||
|
|
@ -69,15 +68,23 @@ export const LRenderInternal: FC<{
|
|||
useEffect(() => {
|
||||
if (meta) {
|
||||
meta.mounted = true;
|
||||
if (meta.pendingRender) {
|
||||
meta.pendingRender = false;
|
||||
render({});
|
||||
}
|
||||
}, []);
|
||||
}
|
||||
});
|
||||
|
||||
if (!meta) {
|
||||
return null;
|
||||
}
|
||||
meta.render = () => {
|
||||
if (meta && meta.mounted) {
|
||||
if (meta) {
|
||||
if (meta.mounted) {
|
||||
render({});
|
||||
} else {
|
||||
meta.pendingRender = true;
|
||||
}
|
||||
}
|
||||
};
|
||||
let item = meta.item;
|
||||
|
|
|
|||
|
|
@ -29,6 +29,7 @@ export type ItemMeta = {
|
|||
isLayout: boolean;
|
||||
render?: () => void;
|
||||
mounted?: boolean;
|
||||
pendingRender: boolean;
|
||||
};
|
||||
|
||||
export type LPage = {
|
||||
|
|
|
|||
|
|
@ -277,7 +277,8 @@ const createLocal = (p: PG, id: string) => {
|
|||
cachedPath[page_id] = {};
|
||||
}
|
||||
if (cachedLocal[page_id][itemid]) {
|
||||
if (cache === false && cachedPath[page_id][itemid] !== location.href) {
|
||||
if (cache === false) {
|
||||
if (cachedPath[page_id][itemid] !== location.href) {
|
||||
cachedPath[page_id][itemid] = location.href;
|
||||
genScope();
|
||||
cachedLocal[page_id][itemid] = meta.scope[name];
|
||||
|
|
@ -288,6 +289,13 @@ const createLocal = (p: PG, id: string) => {
|
|||
else p.render();
|
||||
};
|
||||
}
|
||||
} else {
|
||||
meta.scope[name] = cachedLocal[page_id][itemid];
|
||||
meta.scope[name].render = () => {
|
||||
if (meta.render) meta.render();
|
||||
else p.render();
|
||||
};
|
||||
}
|
||||
} else {
|
||||
genScope();
|
||||
cachedLocal[page_id][itemid] = meta.scope[name];
|
||||
|
|
|
|||
|
|
@ -21,6 +21,7 @@ export const produceCSS = (
|
|||
): string => {
|
||||
try {
|
||||
return cx([
|
||||
item.name,
|
||||
css`
|
||||
display: flex;
|
||||
position: relative;
|
||||
|
|
|
|||
Loading…
Reference in New Issue