@@ -7,30 +7,18 @@ import {
77 FiberHost ,
88 FiberFinish ,
99} from './type'
10- import { createElement , updateElement } from './dom'
10+ import { createElement } from './dom'
1111import { resetCursor } from './hook'
1212import { schedule , shouldYield } from './schedule'
1313import { isArr , createText , Suspense } from './h'
1414import { commit , removeElement } from './commit'
1515
16- // let currentFiber: Fiber = null
17- let domCursor : any = null
18-
19- if ( ! globalThis . currentFiber ) { // 兼容 server
20- globalThis . currentFiber = null
21- }
22-
23- export const options = { } as any
24-
16+ let currentFiber : Fiber = null
2517export const render = ( vnode : Fiber , node : Node ) => {
26-
27- if ( options . hydrate ) {
28- domCursor = options . hydrate ( node )
29- }
18+ if ( node . firstChild ) node . removeChild ( node . firstChild ) // no hydrating
3019 let rootFiber = {
3120 node,
3221 props : { children : vnode } ,
33- hydrating : ! ! options . hydrate
3422 } as Fiber
3523
3624 update ( rootFiber )
@@ -71,12 +59,6 @@ const suspense = (fiber, promise) => {
7159const capture = ( fiber : Fiber ) => {
7260 fiber . isComp = isFn ( fiber . type )
7361
74- if ( domCursor && fiber . hydrating ) {
75- if ( domCursor . type === fiber . type || domCursor . type === ( ( fiber . type as any ) . name && `$${ ( fiber . type as any ) . name } ` ) ) {
76- fiber . kids = domCursor . kids
77- }
78- domCursor = domCursor . next
79- }
8062 if ( fiber . isComp ) {
8163 if ( isMemo ( fiber ) ) {
8264 fiber . memo = false
@@ -160,8 +142,6 @@ const updateHost = (fiber: FiberHost) => {
160142 if ( ! fiber . node ) {
161143 if ( fiber . type === 'svg' ) fiber . lane |= TAG . SVG
162144 fiber . node = createElement ( fiber )
163- } else if ( fiber . hydrating ) {
164- updateElement ( fiber . node as HTMLElement , { } , fiber . props )
165145 }
166146 reconcileChidren ( fiber , fiber . props . children )
167147}
@@ -184,9 +164,6 @@ const reconcileChidren = (
184164 if ( fiber . lane & TAG . SVG ) {
185165 child . lane |= TAG . SVG
186166 }
187- if ( fiber . hydrating ) {
188- child . hydrating = true
189- }
190167 child . parent = fiber
191168 if ( i > 0 ) {
192169 prev . sibling = child
@@ -203,7 +180,6 @@ function clone(a: Fiber, b: Fiber) {
203180 b . node = a . node
204181 b . kids = a . kids
205182 b . alternate = a
206- b . hydrating = a . hydrating
207183}
208184
209185export const arrayfy = < T > ( arr : T | T [ ] | null | undefined ) =>
@@ -286,8 +262,8 @@ const diff = (aCh: Fiber[], bCh: Fiber[]) => {
286262 return actions
287263}
288264
289- export const useFiber = ( ) => globalThis . currentFiber || null
290- export const resetFiber = ( fiber : Fiber ) => globalThis . currentFiber = fiber
265+ export const useFiber = ( ) => currentFiber || null
266+ export const resetFiber = ( fiber : Fiber ) => currentFiber = fiber
291267export const isFn = ( x : unknown ) : x is Function => typeof x === 'function'
292268export const isStr = ( s : unknown ) : s is number | string =>
293269 typeof s === 'number' || typeof s === 'string'
0 commit comments