Coder Social home page Coder Social logo

anu's People

Contributors

abnercrack avatar ambit-tsai avatar ariesly15 avatar betasu avatar codearvin avatar dgeibi avatar enducode avatar gandao avatar gaoxiaomumu avatar gaterking avatar gitaiqaq avatar hellosean1025 avatar hkc452 avatar jgx-jay avatar jounqin avatar jsleey avatar lizheming avatar niuzhuang avatar onlyling avatar pepperyan avatar roland-reed avatar rubylouvre avatar shaoyudong avatar shinhwe avatar taotao9125 avatar tiye avatar wenchaoss avatar yongningfu avatar yvanwangl avatar zeromake avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

anu's Issues

useEffect destroy执行时机不对

bug描述

useEffect destroy应该在依赖改变后先于下一次的create执行。 当前依赖改变后会先执行所有上一次的destroy,再执行依赖改变的create

useEffect destroy函数执行时机不对

bug描述

useEffect destroy应该在依赖改变后先于下一次的create执行。 当前依赖改变后会先执行所有上一次的destroy,再执行依赖改变的create

不必要的insertBefore导致dom原地插入,造成滚动丢失

bug描述
当非HostComponent触发更新, commit阶段insertElement方法中,如果是如下结构:

<div>
    <List/>
    <p>我是谁不重要,关键是占了个位置</p>
</div>

由于afterp对应DOM,会进入如下逻辑并返回,所以不会造成DOM更新

 if (after === null && dom === parent.lastChild) {
      return;
 }

但当是如下结构时会进入insertBefore造成List对应DOM原地插入。

<div>
    <List/>
</div>

为了解决这个bug,增加如下跳出条件:

// 如果目标dom的nextSibling和他已经存在的after相同,则跳出
 if (dom.nextSibling && dom.nextSibling === after) {
      return;
 }

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.