---
# System prepended metadata

title: React v17 TL;DR
tags: [React]

---

---
robots: noindex, nofollow
tags: React
---

# React v17 TL;DR

* [React v17.0 Release Candidate: No New Features][1]

[1]: https://reactjs.org/blog/2020/08/10/react-v17-rc.html

## Gradual Upgrades

簡單來說就是以前你要更新 React 版本都要整個更新。從 React v17 開始，你可以只更新一部分，把某些 lazy load 進來的 module 留在舊版，之後再更新。

為了達成這點， React event 現在綁在你掛載的那個 element 上，而不是綁在 document 上。這也讓 React 的事件不會影響到其他框架。

## No Event Pooling

以前 React 為了讓舊瀏覽器在處理事件時更有效率，會重用事件物件。未來不會了。

## Effect Cleanup Timing

`useEffect` 清理的時機移到畫面更新之後，避免有很多元件要清理時降低繪圖效率。

## Native Component Stacks

React v17 用了一些技巧來重建 error stack ，讓他以元件為基礎，而不是 js function 為基礎。讓 debug 更容易。