Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit9da2673

Browse files
authored
Merge pull requestlowcoder-org#648 from raheeliftikhar5/sdk-rerendering-fix
Fix apps re-rendering issue with SDK
2 parents9d0cab1 +d19c210 commit9da2673

File tree

4 files changed

+10
-7
lines changed

4 files changed

+10
-7
lines changed

‎client/packages/lowcoder-sdk/index.tsx‎

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import{useRef}from"react";
22
importReactDOM,{flushSync}from"react-dom";
3+
import{createRoot}from"react-dom/client";
34
import{AppViewInstance,bootstrapAppAt,LowcoderAppView}from"./src/index";
45

56
consturl=newURL(location.href);
@@ -70,7 +71,9 @@ async function bootstrap() {
7071
});
7172

7273
// React
73-
ReactDOM.render(<ReactDemoApp/>,document.querySelector("#app2"));
74+
constcontainer=document.querySelector("#app2");
75+
constroot=createRoot(container!);
76+
root.render(<ReactDemoApp/>);
7477
}
7578

7679
bootstrap();

‎client/packages/lowcoder-sdk/package.json‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name":"lowcoder-sdk",
3-
"version":"2.3.0",
3+
"version":"2.3.1",
44
"type":"module",
55
"files": [
66
"src",

‎client/packages/lowcoder/src/appView/AppViewInstance.tsx‎

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import { RootComp } from "comps/comps/rootComp";
44
import{setGlobalSettings}from"comps/utils/globalSettings";
55
import{sdkConfig}from"constants/sdkConfig";
66
import_from"lodash";
7-
import{createRoot}from"react-dom/client";
7+
import{Root}from"react-dom/client";
88
import{StyleSheetManager}from"styled-components";
99
import{ModuleDSL,ModuleDSLIoInput}from"types/dsl";
1010
import{AppView}from"./AppView";
@@ -40,7 +40,7 @@ export class AppViewInstance<I = any, O = any> {
4040
webUrl:"https://app.lowcoder.cloud",
4141
};
4242

43-
constructor(privateappId:string,privatenode:Element,options:AppViewInstanceOptions={}){
43+
constructor(privateappId:string,privatenode:Element,privateroot:Root,options:AppViewInstanceOptions={}){
4444
Object.assign(this.options,options);
4545
if(this.options.baseUrl){
4646
sdkConfig.baseURL=this.options.baseUrl;
@@ -137,8 +137,7 @@ export class AppViewInstance<I = any, O = any> {
137137

138138
privateasyncrender(){
139139
constdata=awaitthis.dataPromise;
140-
constroot=createRoot(this.node);
141-
root.render(
140+
this.root.render(
142141
<StyleSheetManagertarget={this.nodeasHTMLElement}>
143142
<AppView
144143
appId={this.appId}

‎client/packages/lowcoder/src/appView/bootstrapAt.tsx‎

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import{loadComps}from"comps";
22
import{AppViewInstance,AppViewInstanceOptions}from"./AppViewInstance";
3+
import{createRoot}from"react-dom/client";
34

45
loadComps();
56

@@ -12,5 +13,5 @@ export async function bootstrapAppAt<I>(
1213
console.error("node must be not null.");
1314
return;
1415
}
15-
returnnewAppViewInstance(appId,node,options);
16+
returnnewAppViewInstance(appId,node,createRoot(node),options);
1617
}

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp