@@ -77,6 +77,12 @@ const mountedContainers = new Set()
77
77
*/
78
78
const mountedRootEntries = [ ]
79
79
80
+ function strictModeIfNeeded ( innerElement ) {
81
+ return getConfig ( ) . reactStrictMode
82
+ ? React . createElement ( React . StrictMode , null , innerElement )
83
+ : innerElement
84
+ }
85
+
80
86
function wrapUiIfNeeded ( innerElement , wrapperComponent ) {
81
87
return wrapperComponent
82
88
? React . createElement ( wrapperComponent , null , innerElement )
@@ -92,7 +98,7 @@ function createConcurrentRoot(
92
98
act ( ( ) => {
93
99
root = ReactDOMClient . hydrateRoot (
94
100
container ,
95
- wrapUiIfNeeded ( ui , WrapperComponent ) ,
101
+ strictModeIfNeeded ( wrapUiIfNeeded ( ui , WrapperComponent ) ) ,
96
102
)
97
103
} )
98
104
} else {
@@ -138,9 +144,15 @@ function renderRoot(
138
144
) {
139
145
act ( ( ) => {
140
146
if ( hydrate ) {
141
- root . hydrate ( wrapUiIfNeeded ( ui , WrapperComponent ) , container )
147
+ root . hydrate (
148
+ strictModeIfNeeded ( wrapUiIfNeeded ( ui , WrapperComponent ) ) ,
149
+ container ,
150
+ )
142
151
} else {
143
- root . render ( wrapUiIfNeeded ( ui , WrapperComponent ) , container )
152
+ root . render (
153
+ strictModeIfNeeded ( wrapUiIfNeeded ( ui , WrapperComponent ) ) ,
154
+ container ,
155
+ )
144
156
}
145
157
} )
146
158
0 commit comments