Liu Song’s Projects


~/Projects/fre

git clone https://code.lsong.org/fre

Commit

Commit
58e3f08586534f325078d94f9100c4dda52ec396
Author
132yse <[email protected]>
Date
2021-06-05 23:09:32 +0800 +0800
Diffstat
 demo/src/keys.tsx | 13 +++++--------
 src/reconciler.ts | 12 ++----------
 src/type.ts | 1 +

simplify diff


diff --git a/demo/src/keys.tsx b/demo/src/keys.tsx
index ba7cfcd5b0d00e389cb4a0b88129a03e0069e226..ece8a7395757f3f7924fa8577b1a03d69e134b34 100644
--- a/demo/src/keys.tsx
+++ b/demo/src/keys.tsx
@@ -80,19 +80,16 @@   const [state, setState] = useState([1, 2, 3]);
 
   return (
     <div>
-      <ul>
-        {state.map((item) => {
-          return <Li i={item} key={item}>{item}</Li>;
-        })}
-      </ul>
-
       <button
         onClick={() => {
-          setState([3,2,4,1,8]);
+          setState([3, 2, 4, 1, 8]);
         }}
       >
         set
       </button>
+      {state.map((item) => {
+        return <li i={item} key={item}>{item}</li>;
+      })}
     </div>
   );
 }
@@ -108,7 +105,7 @@ // function Li(props) {
 //   return [<li>{props.i}</li>, <li>{props.i}</li>]
 // }
 function Li(props) {
-  return  <li>{props.i}</li>
+  return <li>{props.i}</li>
 }
 
 render(<App />, document.getElementById("app"))




diff --git a/src/reconciler.ts b/src/reconciler.ts
index a19452d9a9718642c7a315f6492b4fb309ad23a3..60f16f065644a037fcf0fa0e8b6123bb8dc459c0 100644
--- a/src/reconciler.ts
+++ b/src/reconciler.ts
@@ -16,8 +16,6 @@
 let currentFiber: IFiber
 let finish = null
 import {
-  IRef,
-import {
   Attributes,
 export const enum LANE {
   UPDATE = 1 << 1,
@@ -211,8 +209,6 @@       }
       WIP.child = child
     } else {
 
-  Attributes,
-
   HTMLElementEx,
     }
     prev = child
@@ -231,7 +227,6 @@
 const commitWork = (fiber: IFiber): void => {
   let eff = fiber.first
   while (eff) {
-    console.log(eff)
     commit(eff)
     eff = eff.next
   }
@@ -293,15 +288,12 @@     updateElement(node, fiber.lastProps || {}, fiber.props)
   }
   if (lane & LANE.INSERT) {
   IFiber,
-} from "./type"
+  done?: () => void
   IFiber,
-import { createElement, updateElement } from "./dom"
+): void => {
   IFiber,
-import { resetCursor } from "./hook"
-  INSERT = 1 << 2,
   FreElement,
   HTMLElementEx,
-import {
   }
   refer(ref, node)
 }




diff --git a/src/type.ts b/src/type.ts
index 85721c6ac72e8031f13bc0d05cb8755833e92760..3fd1a1f37e7d288d9e23ddb2461b01e76d3ac01f 100644
--- a/src/type.ts
+++ b/src/type.ts
@@ -57,6 +57,7 @@   time: number
   next: IFiber,
   first:IFiber,
   last:IFiber,
+  prev:IFiber,
   laziness: any[]
 }