React Native项目Android Studio崩溃后出现currently focused field弃用报错如何解决
问题修复方案
报错根因
你遇到的currently focused field is deprecated and will be removed in a future release是React Native 0.66及以上版本针对TextInput焦点API的弃用提示,Android Studio崩溃后触发该报错,本质是崩溃导致本地构建缓存损坏、依赖配置被异常重置,连带触发了jetifier适配问题和该弃用警告。
你当前贴出的Login页面代码本身没有语法错误,问题不出在该页面代码。
分步修复步骤
第一步:清理损坏的构建缓存,解决jetifier报错
- 关闭Android Studio,删除以下目录:
项目根目录下的.gradle文件夹
项目android/路径下的.gradle、build文件夹
项目android/app/路径下的build文件夹 - 清理RN项目依赖缓存:
执行命令rm -rf node_modules package-lock.json yarn.lock,之后重新安装依赖:npm install或者yarn install - 打开Android Studio的
gradle.properties文件,确认存在以下配置,没有就补上,解决jetifier相关报错:android.useAndroidX=true android.enableJetifier=true - 重新构建项目,先确认jetifier报错已经消除。
第二步:解决弃用警告问题
- 如果是你自定义的
MyTextInput组件内部用到了currentlyFocusedField这个API,直接替换为新版API即可:
RN 0.67+版本替换为TextInput.State.currentlyFocusedInput() - 如果是第三方依赖库触发的该警告,不想升级依赖的话可以直接在项目入口文件(通常是index.js)顶部添加代码屏蔽提示:
import { LogBox } from 'react-native'; LogBox.ignoreLogs(['currently focused field is deprecated']);
内容的提问来源于stack exchange,提问作者Vladimir
相关产品推荐
相关产品推荐

