问题
After upgrade of RN from 0.59.10 to 0.61.4 I get:
TypeError: hmrClient.send is not a function
when trying to start the app. Just pressing on dismiss seems to work.
Other people suggest removing metro and metro-core and setting
setting metro-react-native-babel-preset to 0.56 but that doesn't seem to work for me.
Issue was reported here:
https://github.com/facebook/react-native/issues/26958
回答1:
The issue was related to an old metro-config module.
I had an old version of "react-native-fs": "2.13.3". This had a dependency on metro-config@0.48.3.
I updated react-native-fs to 2.16.2 (2.16.x is recommended for RN 0.60+) and the error disappeared.
Also I made sure in package.json I have: "metro-react-native-babel-preset": "0.56.0".
Sources:
I got the metro-config hint from huntie's answer from here:
https://github.com/facebook/react-native/issues/26958#issuecomment-558653561
Note: if you have an old dependency that cannot be updated adding:
"resolutions": {
"metro-config": "0.56.3"
},
in the package.json could also fix the issue.
回答2:
I had the same error displaying every time I ran/refreshed the app and fast refresh was not working for me. I have a react native (0.63.3) app with an init without expo.
This worked for me:
yarn add metro@0.56.0
from: https://www.gitmemory.com/issue/react-native-community/releases/140/530142204
来源:https://stackoverflow.com/questions/58977868/runtime-typeerror-hmrclient-send-is-not-a-function