React Fiber架構

banq發表於2016-08-08
React Fiber架構是React核心演算法的發展的再實現,是React團隊兩年來的研究高潮。

React Fiber目標是提高動畫,佈局和手勢等領域的適應性,它的重要特徵是增量渲染,能夠將渲染工作劃分為一塊塊,然後在多個幀frame中傳播。

另外一個關鍵能力是在當有新的更新時,提供暫停,退出,或重用等能力,分配優先權給更新的不同型別和新的併發原語。

React Fiber在更新和渲染之間提供了調停reconciliation功能,原來React一旦有更新,就立即進行渲染,非常剛性,反而造成了更新和渲染之間的不同步,而調停reconciliation功能能非同步進行渲染,或進行計劃呼叫更新,保證動畫和手勢等對響應要求很快的應用有快速的流暢性。

關鍵點:
1.在UI介面中,不是所有更新需要立即渲染的,如果這麼做會很浪費,引起幀frame丟失和降低使用者體驗。
2.不同型別的更新應該有不同優先順序,一個動畫更新應該比其他比如資料儲存更新更快,更有優先權。
3.基於推的方式需要應用決定如何呼叫工作,而基於拉的方式則能夠讓react框架更加智慧,將更多決定權放給你。這樣一旦有更新,不再像以前採取推的方式,而是採取拉的方式。


react-fiber-architecture/README.md at master · acd

相關文章