如何修复Expo环境下react-native-textinput-effects包的报错问题
报错根因
react-native-textinput-effects 包长期未维护,未适配React Native 0.62及以上版本的接口变更,代码中调用了已被官方从TextInput组件中移除的removeClippedSubviews属性,触发对应报错。
报错截图如下:
修复方案
方案一:使用
patch-package打本地补丁(适配所有Expo/原生RN项目)- 打开项目下
node_modules/react-native-textinput-effects/lib/目录,找到你使用的特效对应的JS文件(通用修复可修改目录下所有JS文件) - 删除文件中所有给TextInput传入
removeClippedSubviews属性的代码行 - 项目根目录执行命令安装补丁工具:
npm install patch-package --save-dev - 执行命令生成补丁:
npx patch-package react-native-textinput-effects,后续重新安装依赖会自动应用该修改 - 执行
npx expo start --clear清除缓存重启项目即可生效
该修改为纯JS层修改,完全兼容Expo的开发、预览与EAS构建流程,不需要调整原生配置
- 打开项目下
方案二:替换为社区适配版本
在package.json中替换原有react-native-textinput-effects依赖为社区维护的适配新版RN的版本,重新执行npm install安装依赖即可。方案三:自行实现输入框特效
目前React Native原生TextInput已支持完整的动画回调,搭配AnimatedAPI可以轻松实现该库提供的所有输入框动效,不需要额外引入第三方依赖。
内容的提问来源于stack exchange,提问作者Adarsh
相关产品推荐
相关产品推荐

