~/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[] }