Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
N
Neos
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Locked Files
Issues
0
Issues
0
List
Boards
Labels
Service Desk
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Security & Compliance
Security & Compliance
Dependency List
License Compliance
Packages
Packages
List
Container Registry
Analytics
Analytics
CI / CD
Code Review
Insights
Issues
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
love_飞影
Neos
Commits
e3920259
Commit
e3920259
authored
Aug 03, 2023
by
timel
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix: render way in react 18
parent
a186cfa1
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
4 additions
and
3 deletions
+4
-3
src/ui/Shared/Background/index.tsx
src/ui/Shared/Background/index.tsx
+4
-3
No files found.
src/ui/Shared/Background/index.tsx
View file @
e3920259
import
{
useEffect
}
from
"
react
"
;
import
{
useEffect
}
from
"
react
"
;
import
{
render
,
unmountComponentAtNode
}
from
"
react-dom
"
;
import
{
createRoot
}
from
"
react-dom/client
"
;
import
styles
from
"
./index.module.scss
"
;
import
styles
from
"
./index.module.scss
"
;
...
@@ -26,12 +26,13 @@ const withPortalToBody = <P extends object>(
...
@@ -26,12 +26,13 @@ const withPortalToBody = <P extends object>(
const
newNode
=
document
.
createElement
(
"
div
"
);
const
newNode
=
document
.
createElement
(
"
div
"
);
portalRoot
.
insertBefore
(
newNode
,
firstChild
);
portalRoot
.
insertBefore
(
newNode
,
firstChild
);
const
root
=
createRoot
(
newNode
);
// 渲染组件到新的容器中
// 渲染组件到新的容器中
r
ender
(<
WrappedComponent
{
...
props
}
/>,
newNode
);
r
oot
.
render
(<
WrappedComponent
{
...
props
}
/>
);
return
()
=>
{
return
()
=>
{
// 卸载组件并且移除容器
// 卸载组件并且移除容器
unmountComponentAtNode
(
newNode
);
setTimeout
(()
=>
root
.
unmount
()
);
portalRoot
.
removeChild
(
newNode
);
portalRoot
.
removeChild
(
newNode
);
};
};
},
[]);
},
[]);
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment