You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Expo SDK v48+Hermes引擎远程调试Redux状态遇阻求助

解决Expo SDK48 + Hermes + React Native Debugger调试Redux的问题

1. 修正React Native Debugger(RND)的端口配置

先关掉所有已打开的RND和Chrome调试窗口,避免端口冲突:

  • 打开RND,通过顶部菜单Debugger > New Window新建窗口
  • 手动设置监听端口为8081(Hermes默认调试端口是8081,Expo的19000是项目服务端口,不是调试用的)
  • 确认RND的Redux DevTools已启用:点击顶部菜单View > Toggle Redux DevTools,确保开关处于打开状态

2. 改用正确的调试启动流程

别用Expo终端菜单的Press j打开调试,这个会启动默认Chrome,不带RND的扩展:

  1. 用npx expo start --dev-client启动应用
  2. 在模拟器/真机上打开应用,调出开发者菜单(iOS按Cmd+D,Android按Cmd+M)
  3. 选择Debug remote JS选项,此时会自动连接到已打开的RND窗口

3. 检查Redux Store的调试配置

确保你的Redux store正确集成了DevTools,适配Hermes环境:

import { configureStore } from '@reduxjs/toolkit';

export const store = configureStore({
  reducer: {
    // 这里放你的reducer定义
  },
  devTools: process.env.NODE_ENV !== 'production',
});

如果用的是传统Redux(不是Redux Toolkit),要手动添加DevTools中间件,确保配置正确。

如果你尝试了第三方适配Hermes的Redux调试库,先卸载旧依赖,清理缓存后重装:

rm -rf node_modules && npm cache clean --force
# 然后重新安装目标库
npm install [你的调试库包名]

严格按照库的官方文档配置初始化代码,确保和Expo SDK48版本兼容。

4. 排查端口占用问题

检查本地8081端口是否被其他进程占用:

  • Mac/Linux:lsof -i :8081
  • Windows:netstat -ano | findstr :8081
    如果有占用,杀掉对应进程后,重新启动RND和Expo服务。也可以指定其他端口启动:
npx expo start --dev-client --port 8082

同时在RND里设置监听8082端口即可。

5. 重置调试连接

如果还是显示status:waiting for client..,试试以下操作:

  • 重启模拟器/真机
  • 关闭Expo服务,清除缓存后重启:npx expo start --dev-client --clear
  • 重新打开RND窗口,再次触发应用的Debug remote JS选项

内容的提问来源于stack exchange,提问作者aleksandarbos

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.17 01:17:20