React Native中Formik无法输出console.log及Metro调试模块报错
React Native Formik控制台无输出+Metro模块解析错误修复
一、修复Formik提交按钮的点击逻辑错误
你的Button组件onPress属性写法存在问题:当前代码会在组件渲染时立即执行console.log,而非点击按钮时触发,同时也没有正确调用Formik的提交方法。修改如下:
原错误代码:
<Button title="Add Home" onPress={console.log('handle submit pressed', props.handleSubmit)} />
修正后代码:
<Button title="Add Home" onPress={() => { console.log('handle submit pressed'); props.handleSubmit(); }} />
修改后点击按钮才会触发日志输出,同时调用Formik的onSubmit逻辑。
二、解决Mac环境下Metro无法解析debuggerWorker模块的问题
该错误由Metro缓存异常或依赖缺失导致,执行以下步骤修复:
- 关闭当前运行的Metro服务和模拟器/真机
- 清除Metro缓存:
npx react-native start --reset-cache - 清理依赖并重新安装:
rm -rf node_modules package-lock.json yarn.lock npm install # 或 yarn install - 重新启动项目:
npx react-native run-ios # 针对iOS项目,Android用run-android
若问题仍存在,可尝试删除iOS构建文件后重新运行:
rm -rf ios/build
内容的提问来源于stack exchange,提问作者Gourav Sanyal
相关产品推荐
相关产品推荐

