今天早晨,在运行expo start
并尝试照常通过手机上的expo应用程序打开我的应用程序后,我收到一条错误消息,指出不再支持30.0.0,我必须升级。
所以我如下升级到32.0.0:
app.json
更改为"sdkVersion": "32.0.0"
。package.json
更改为"expo": "^32.0.0"
,"react-native": "https://github.com/expo/react-native/archive/sdk-32.0.0.tar.gz"
和"react": "16.5.0"
node_modules
文件夹并运行了npm install
。 2.18.7
将expo-cli升级到了npm install -g expo-cli
。在此之后,我尝试运行我的应用程序,但始终遇到有关babel/plugin-transform-react-jsx-source
的错误。经过大量的搜寻之后,我删除了文件.babelrc
,而是通过从全新的babel.config.js
项目中复制文件expo init
来添加文件TouchableOpacity
。
所有这些之后,我的应用程序终于再次运行。但是,与这些更新之前的昨晚相比,它的响应速度显着降低。区别就像白天和黑夜。
尤其是,按钮(console.log
)现在具有2-3秒的延迟,并且触发屏幕切换所需的时间要长得多(但是,它们是由按钮触发的,因此很可能是一个相同的问题) 。以前,当您按下按钮时,它将立即生效。现在,按钮的背景颜色立即变浅,但是在执行所需的操作之前,将其保持浅色约2秒钟。它的外观和感觉非常缓慢且无响应。
我还注意到,我的console.log
消息现在出现在VSCode控制台中。我必须补充一点,我不确定他们是否曾经这样做过,至少我从未注意到过。我读到这可能会导致速度变慢,因此我从项目中删除了所有TypeError
条消息。这确实使它又快了一点。但它仍然远没有更新前的昨晚快。
我该怎么做才能使我的应用程序快速响应并再次响应?
参考:https://docs.expo.io/versions/latest/workflow/upgrading-expo-sdk-walkthrough/