Skip to content

Commit a855c05

Browse files
committed
fix: fix renderer some bugs
1 parent ac8aa2c commit a855c05

File tree

33 files changed

+255
-388
lines changed

33 files changed

+255
-388
lines changed

packages/core/package.json

Lines changed: 1 addition & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -34,13 +34,7 @@
3434
},
3535
"dependencies": {
3636
"@alilc/lowcode-shared": "workspace:*",
37-
"@alilc/lowcode-types": "workspace:*",
38-
"@alilc/lowcode-utils": "workspace:*",
39-
"@formatjs/intl": "^2.10.1",
40-
"lodash-es": "^4.17.21",
41-
"react": "^18.2.0",
42-
"react-dom": "^18.2.0",
43-
"events": "^3.3.0"
37+
"lodash-es": "^4.17.21"
4438
},
4539
"devDependencies": {
4640
"@types/lodash-es": "^4.17.12",
@@ -49,8 +43,6 @@
4943
},
5044
"peerDependencies": {
5145
"@alilc/lowcode-shared": "workspace:*",
52-
"@alilc/lowcode-types": "workspace:*",
53-
"@alilc/lowcode-utils": "workspace:*",
5446
"react": "^18.2.0",
5547
"react-dom": "^18.2.0"
5648
},

packages/core/src/index.ts

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,2 @@
11
export * from './preference';
22
export * from './hotkey';
3-
export * from './intl';
4-
export * from './instantiation';

packages/core/src/intl.ts

Lines changed: 0 additions & 154 deletions
This file was deleted.

packages/react-renderer/src/api/app.tsx

Lines changed: 5 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,12 @@
1-
import { createRenderer, type AppOptions } from '@alilc/lowcode-renderer-core';
2-
import { type ComponentType } from 'react';
1+
import { createRenderer } from '@alilc/lowcode-renderer-core';
32
import { type Root, createRoot } from 'react-dom/client';
4-
import { ApplicationView, RendererContext, boosts } from '../app';
5-
6-
export interface ReactAppOptions extends AppOptions {
7-
faultComponent?: ComponentType<any>;
8-
}
3+
import { type ReactAppOptions, RendererContext } from './context';
4+
import { ApplicationView, boosts } from '../app';
95

106
export const createApp = async (options: ReactAppOptions) => {
117
return createRenderer(async (context) => {
128
const { schema, boostsManager } = context;
139

14-
// set config
15-
// if (options.faultComponent) {
16-
// context.config.set('faultComponent', options.faultComponent);
17-
// }
18-
19-
// extends boosts
2010
boostsManager.extend(boosts.toExpose());
2111

2212
let root: Root | undefined;
@@ -27,10 +17,11 @@ export const createApp = async (options: ReactAppOptions) => {
2717

2818
const defaultId = schema.get('config')?.targetRootID ?? 'app';
2919
const rootElement = normalizeContainer(containerOrId, defaultId);
20+
const contextValue = { ...context, options };
3021

3122
root = createRoot(rootElement);
3223
root.render(
33-
<RendererContext.Provider value={context}>
24+
<RendererContext.Provider value={contextValue}>
3425
<ApplicationView />
3526
</RendererContext.Provider>,
3627
);

packages/react-renderer/src/api/component.tsx

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import { createRenderer, type AppOptions } from '@alilc/lowcode-renderer-core';
22
import { FunctionComponent } from 'react';
33
import { type LowCodeComponentProps, createComponentBySchema } from '../runtime/schema';
4-
import { RendererContext } from '../app/context';
4+
import { RendererContext } from '../api/context';
55

66
interface Render {
77
toComponent(): FunctionComponent<LowCodeComponentProps>;
@@ -12,10 +12,11 @@ export async function createComponent(options: AppOptions) {
1212
const { schema } = context;
1313

1414
const LowCodeComponent = createComponentBySchema(schema.get('componentsTree')[0]);
15+
const contextValue = { ...context, options };
1516

1617
function Component(props: LowCodeComponentProps) {
1718
return (
18-
<RendererContext.Provider value={context}>
19+
<RendererContext.Provider value={contextValue}>
1920
<LowCodeComponent {...props} />
2021
</RendererContext.Provider>
2122
);
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
import { type ComponentType, createContext, useContext } from 'react';
2+
import { type AppOptions, type RenderContext } from '@alilc/lowcode-renderer-core';
3+
4+
export interface ReactAppOptions extends AppOptions {
5+
faultComponent?: ComponentType<any>;
6+
}
7+
8+
export const RendererContext = createContext<RenderContext & { options: ReactAppOptions }>(
9+
undefined!,
10+
);
11+
12+
RendererContext.displayName = 'RendererContext';
13+
14+
export const useRendererContext = () => useContext(RendererContext);

packages/react-renderer/src/app/context.ts

Lines changed: 0 additions & 8 deletions
This file was deleted.
Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,2 @@
1-
export * from './context';
21
export * from './boosts';
32
export * from './view';

packages/react-renderer/src/app/view.tsx

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
1-
import { useRenderContext } from './context';
1+
import { useRendererContext } from '../api/context';
22
import { getComponentByName } from '../runtime/schema';
33
import { boosts } from './boosts';
44

55
export function ApplicationView() {
6-
const renderContext = useRenderContext();
7-
const { schema } = renderContext;
6+
const rendererContext = useRendererContext();
7+
const { schema } = rendererContext;
88
const appWrappers = boosts.getAppWrappers();
99
const Outlet = boosts.getOutlet();
1010

@@ -16,7 +16,7 @@ export function ApplicationView() {
1616

1717
if (layoutConfig) {
1818
const componentName = layoutConfig.componentName;
19-
const Layout = getComponentByName(componentName, renderContext);
19+
const Layout = getComponentByName(componentName, rendererContext);
2020

2121
if (Layout) {
2222
const layoutProps: any = layoutConfig.props ?? {};

packages/react-renderer/src/index.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,9 @@
11
export * from './api/app';
22
export * from './api/component';
3-
export { useRenderContext, defineRendererPlugin } from './app';
3+
export * from './api/context';
4+
export { defineRendererPlugin } from './app';
45
export * from './router';
6+
export { LifecyclePhase } from '@alilc/lowcode-renderer-core';
57

68
export type { Spec, ProCodeComponent, LowCodeComponent } from '@alilc/lowcode-shared';
79
export type { PackageLoader, CodeScope, Plugin } from '@alilc/lowcode-renderer-core';

0 commit comments

Comments
 (0)