Skip to content

Commit b02c213

Browse files
committed
emmm
1 parent fb450f3 commit b02c213

6 files changed

Lines changed: 23 additions & 107 deletions

File tree

demo/index.html

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -12,14 +12,9 @@
1212

1313
<body>
1414
<div id="app">
15-
<!-- App-->
16-
<!--Fragment-->
17-
<h1>Hello Fre1 + Hono</h1>
18-
<h2>Hello Fre1 + Hono</h2>
19-
<!--Fragment-->
20-
<!--App -->
15+
2116
</div>
22-
<script type="module" src="/src/hydrate.tsx"></script>
17+
<script type="module" src="/src/keys.tsx"></script>
2318
<script>
2419

2520
</script>

demo/src/keys.tsx

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -126,6 +126,18 @@ function App() {
126126
// );
127127
// }
128128

129+
function AAA() {
130+
131+
// const data = useLoaderData()
132+
// console.log(data)
133+
return (
134+
<div>
135+
<h1>Hello</h1>
136+
<img src="/static/example.jpg" style={{width:'400px'}}/>
137+
</div>
138+
)
139+
}
140+
129141
// function Li(props) {
130142
// return <div>
131143
// <li>{props.i}</li>
@@ -146,4 +158,4 @@ function Li(props) {
146158
// createRoot(node).render(jsx)
147159
// }
148160

149-
render(<App />, document.getElementById("app"))
161+
render(<AAA />, document.getElementById("app"))

package.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,11 @@
11
{
22
"name": "fre",
3-
"version": "2.8.6",
3+
"version": "2.8.7",
44
"type": "module",
55
"main": "dist/fre.js",
66
"unpkg": "dist/fre.umd.js",
77
"module": "dist/fre.js",
8+
"deno": "dist/fre.js",
89
"exports": {
910
".": {
1011
"import": "./dist/fre.js",

src/index.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
export { h, Fragment, h as createElement, memo, Suspense, lazy } from './h'
2-
export { render, useFiber, options, resetFiber } from './reconcile'
2+
export { render, useFiber, resetFiber } from './reconcile'
33
export {
44
useState,
55
useReducer,

src/reconcile.ts

Lines changed: 5 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -7,30 +7,18 @@ import {
77
FiberHost,
88
FiberFinish,
99
} from './type'
10-
import { createElement, updateElement } from './dom'
10+
import { createElement } from './dom'
1111
import { resetCursor } from './hook'
1212
import { schedule, shouldYield } from './schedule'
1313
import { isArr, createText, Suspense } from './h'
1414
import { 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
2517
export 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) => {
7159
const 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

209185
export 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
291267
export const isFn = (x: unknown): x is Function => typeof x === 'function'
292268
export const isStr = (s: unknown): s is number | string =>
293269
typeof s === 'number' || typeof s === 'string'

src/ssr.ts

Lines changed: 0 additions & 68 deletions
This file was deleted.

0 commit comments

Comments
 (0)