@@ -35,8 +35,8 @@ export function patch(internal, vnode, parentDom) {
3535
3636 if ( flags & TYPE_TEXT ) {
3737 if ( vnode !== internal . props ) {
38- // @ts -ignore We know that newVNode is string/number/bigint, and internal._dom is Text
39- internal . _dom . data = vnode ;
38+ // @ts -ignore We know that newVNode is string/number/bigint, and internal.data is Text
39+ internal . data . data = vnode ;
4040 internal . props = vnode ;
4141 }
4242
@@ -94,7 +94,7 @@ export function patch(internal, vnode, parentDom) {
9494 let siblingDom =
9595 ( internal . flags & ( MODE_HYDRATE | MODE_SUSPENDED ) ) ===
9696 ( MODE_HYDRATE | MODE_SUSPENDED )
97- ? internal . _dom
97+ ? internal . data
9898 : internal . flags & MODE_HYDRATE
9999 ? null
100100 : getDomSibling ( internal ) ;
@@ -104,7 +104,12 @@ export function patch(internal, vnode, parentDom) {
104104 patchChildren ( internal , renderResult , parentDom ) ;
105105 }
106106
107- if ( internal . _commitCallbacks . length ) {
107+ // TODO: for some reason lazy-hydration stops working as .data is assigned a DOM-node
108+ // for Preact.lazy
109+ if (
110+ internal . data . _commitCallbacks &&
111+ internal . data . _commitCallbacks . length
112+ ) {
108113 commitQueue . push ( internal ) ;
109114 }
110115 } catch ( e ) {
@@ -133,7 +138,7 @@ export function patch(internal, vnode, parentDom) {
133138 * @param {import('../internal').VNode } vnode A VNode with props to compare and apply
134139 */
135140function patchElement ( internal , vnode ) {
136- let dom = /** @type {import('../internal').PreactElement } */ ( internal . _dom ) ,
141+ let dom = /** @type {import('../internal').PreactElement } */ ( internal . data ) ,
137142 oldProps = internal . props ,
138143 newProps = vnode . props ,
139144 isSvg = internal . flags & MODE_SVG ,
@@ -244,10 +249,10 @@ function patchComponent(internal, newVNode) {
244249 c . props = newProps ;
245250 c . state = c . _nextState ;
246251 internal . flags |= SKIP_CHILDREN ;
247- for ( let i = 0 ; i < internal . _stateCallbacks . length ; i ++ ) {
248- internal . _commitCallbacks . push ( internal . _stateCallbacks [ i ] ) ;
252+ for ( let i = 0 ; i < internal . data . _stateCallbacks . length ; i ++ ) {
253+ internal . data . _commitCallbacks . push ( internal . data . _stateCallbacks [ i ] ) ;
249254 }
250- internal . _stateCallbacks = [ ] ;
255+ internal . data . _stateCallbacks = [ ] ;
251256 return ;
252257 }
253258
@@ -269,10 +274,10 @@ function patchComponent(internal, newVNode) {
269274 if ( renderHook ) renderHook ( internal ) ;
270275 if ( ENABLE_CLASSES && internal . flags & TYPE_CLASS ) {
271276 renderResult = c . render ( c . props , c . state , c . context ) ;
272- for ( let i = 0 ; i < internal . _stateCallbacks . length ; i ++ ) {
273- internal . _commitCallbacks . push ( internal . _stateCallbacks [ i ] ) ;
277+ for ( let i = 0 ; i < internal . data . _stateCallbacks . length ; i ++ ) {
278+ internal . data . _commitCallbacks . push ( internal . data . _stateCallbacks [ i ] ) ;
274279 }
275- internal . _stateCallbacks = [ ] ;
280+ internal . data . _stateCallbacks = [ ] ;
276281 // note: disable repeat render invocation for class components
277282 break ;
278283 } else {
@@ -297,7 +302,7 @@ function patchComponent(internal, newVNode) {
297302
298303 // Only schedule componentDidUpdate if the component successfully rendered
299304 if ( c . componentDidUpdate != null ) {
300- internal . _commitCallbacks . push ( ( ) => {
305+ internal . data . _commitCallbacks . push ( ( ) => {
301306 c . componentDidUpdate ( oldProps , oldState , snapshot ) ;
302307 } ) ;
303308 }
0 commit comments