【react native rn刨坑记】Sending "devMenu" to all React Native apps failed. Make sure your app


warn No apps connected. Sending "reload" to all React Native apps failed. Make sure your app is running in the simulator or on a phone connected via USB. info Reloading app... 
warn No apps connected. Sending "devMenu" to all React Native apps failed. 
Make sure your app
is running in the simulator or on a phone connected via USB. info Opening developer menu... N

1.我这个问题出现的原因一开始是因为的node安装的是12.19.1版本,然后经过确认需要安装12.9.1版本,所以我node重新安装了.

2.重新安装之后还是这个错误,然后我突然想起来我rn全局那个 React Native CLI是用12.19.1安装的,可能有问题,于是重新卸载和安装

npm uninstall react-native-cli
npm install -g react-native-cli //因为我安装教程安装的是全局的,所以要卸载掉重新安装,包括npm包 

3.然后就搞定了,进入这个界面

看到这个就代码代码跑成功了 loading dependency graph done

 到这里,项目的壳是成功启动了手机可以通过ip地址连接

 4.然后发送的ip地址一直连接不了,我按照教程弄了一堆,包括adb,最后发现是防火墙,所以如果是window系统跑项目,记得关防火墙!防火墙!防火墙!

不是通过usb链接,而是通过ip地址链接的一定要关闭防火墙

判断是否是防火墙问题的,可以把你项目ip地址+端口发到手机用浏览器点开

如果没有出现这个

而是访问不了的,那么就是防火墙问题了,关了就行

报错让我跑 adb reverse tcp:8081 tcp:8081

5.终于正确跑起来,链接成功,然后又飘红了

这次是npm包的问题,包react.memo is not a function

这种情况一般就是包的版本问题了,去对比一下仓库的package的版本库和本地的package哪个版本不一样,版本改回去,然后

删除package-lock.json和yarn.lock ,node_modules目录 

npm i

npm start

!!package的版本写的时候不要带^,~,这样会可能被更新成其他库,比如 

"axios": "0.18.0",//代表一定下载0.18.0的版本 "axios": "^0.18.0",//代表下载>=0.18.0的版本,基本是最新的版本