无法在 React Native 中连接 remote-redux-devtools

Posted

技术标签:

【中文标题】无法在 React Native 中连接 remote-redux-devtools【英文标题】:Cannot connect remote-redux-devtools in React Native 【发布时间】:2020-05-13 17:13:17 【问题描述】:

我无法在 chrome 中连接 remote-redux-devtools 调试器并收到此错误:

SocketProtocolError 
  name: "SocketProtocolError", 
  message: "Socket hung up", 
  code: 1006, 
  stack: "SocketProtocolError: Socket hung up
         at SCSocke…e?platform=android&dev=true&minify=false:2648:44)"

我的代码如下:

import thunk from 'redux-thunk';
import persistReducer, persistStore from 'redux-persist';
import composeWithDevTools from 'remote-redux-devtools';
import * as actions from './actions';
import rootReducer from './reducers';
import REMEMBER_LIST from '../constants';

const persistConfig = 
  key: 'root',
  storage: AsyncStorage,
  whitelist: REMEMBER_LIST,
;

const persistedReducer = persistReducer(persistConfig, rootReducer);

const composeEnhancers = composeWithDevTools(realtime: true);

const store = createStore(
  persistedReducer,
  composeEnhancers(applyMiddleware(thunk)),
);

【问题讨论】:

【参考方案1】:

我找到了解决方案,它需要使用remotedev-server。如文档中所示,不建议使用remotedev-sever golbally,但使用作为开发依赖项时出现错误,因此我在全局范围内使用。指令是:

    全局安装remotedev-server 运行remotedev --port=8000 打开浏览器并转到localhost:8000/socketcluster/(如果不包含/socketcluster/别名,它仍然会出错。 您必须添加特定的端口号和计算机的 IP,如下所示:
const composeEnhancers = composeWithDevTools(
  realtime: true,
  port: 8000,
  hostname: '192.168.1.106', //add your computer's IP
);

更新

更简单的方法是使用react-native-debugger,你不需要做这些令人头疼的步骤

【讨论】:

以上是关于无法在 React Native 中连接 remote-redux-devtools的主要内容,如果未能解决你的问题,请参考以下文章

无法在 Mac for iOS 应用程序的 React Native 中连接远程调试器?

无法在 Node.JS 和 React-Native (Socket.IO) 之间建立连接

在 linux 的 react-native(android) 连接问题上,无法连接远程调试器意外结束流

create react native app expo无法连接在同一台计算机上的模拟器上运行

为啥 React-Native 无法在与 Expo 的 Android 连接上启动项目?

Android Emulator 无法连接到 React-Native 远程调试器 - 连接时超时