Fast refresh
Summary: This diff enables optional [Fast Refresh](https://reactnative.dev/docs/fast-refresh) for Flipper in dev mode. It can be opted-in using additional argument "--fast-refresh": `yarn start --fast-refresh`. I've copy-pasted the most part of implementation from React Native with some minor changes. I made this optional for now as it works not ideally. In most cases which I checked it works fine, however for some files it falls back to full refresh (e.g. when `desktop/plugins/network/index.tsx` changed) and sometimes doesn't refresh content even after change detected and re-compiled (e.g. when `src/ui/components/searchable/Searchable.tsx` is changed, Network plugin which is dependent on it is not refreshed automatically). State from redux is restored after fast refresh, but local state in class-based components is cleared. For function-based components local state is also stored, so it's an additional point to make plugins components functional :) Also, for now there is no UI for Fast Refresh (loading indicator etc), information is just logged to console. Changelog: Experimental support for Fast Refresh in dev mode can be enabled by `yarn start --fast-refresh`. Reviewed By: jknoxville Differential Revision: D20993073 fbshipit-source-id: 65632788df105a85fac0b924b7808120900b349e
This commit is contained in:
committed by
Facebook GitHub Bot
parent
f506d0eb61
commit
a54aad57a7
@@ -83,6 +83,8 @@
|
||||
"acorn": "7.1.1",
|
||||
"minimist": "1.2.3",
|
||||
"metro/temp": "0.9.0",
|
||||
"metro/ws": "1.1.5",
|
||||
"metro/**/ws": "1.1.5",
|
||||
"ws": "7.2.3",
|
||||
"kind-of": "6.0.3"
|
||||
},
|
||||
@@ -170,6 +172,7 @@
|
||||
"flow-bin": "^0.121.0",
|
||||
"fs-extra": "^8.1.0",
|
||||
"glob": "^7.1.2",
|
||||
"invariant": "^2.2.4",
|
||||
"jest": "^25.1.0",
|
||||
"jest-environment-jsdom-sixteen": "^1.0.3",
|
||||
"jest-fetch-mock": "^3.0.0",
|
||||
@@ -178,7 +181,9 @@
|
||||
"p-filter": "^2.1.0",
|
||||
"p-map": "^4.0.0",
|
||||
"prettier": "^2.0.0",
|
||||
"pretty-format": "^25.2.6",
|
||||
"react-async": "^10.0.0",
|
||||
"react-refresh": "^0.8.1",
|
||||
"recursive-readdir": "^2.2.2",
|
||||
"redux-mock-store": "^1.5.3",
|
||||
"rimraf": "^3.0.2",
|
||||
|
||||
Reference in New Issue
Block a user