无连接电抗器/本机

时间:2018-09-17 09:27:52

标签: react-native reactotron

我尝试在(IOS)React Native项目中使用Reactotron调试应用程序,但是运行应用程序时出现“无活动”。

我使用react-native 0.55.4,reactotron 2.1.0(在package.json中相同)

TimeLine Reactotron

My reactotronConfig.js

index.js file where reactotron is imported

reactotron in my package.json

5 个答案:

答案 0 :(得分:0)

请启用调试模式(在iOS模拟器上按⌘+ D,在Android模拟器上按⌘+ M,或摇动真实设备)。然后杀死应用程序并重新启动应用程序。

希望对您有帮助

答案 1 :(得分:0)

首先,您没有将已配置的Reactotron对象分配给console.tron值。您需要执行以下操作:

console.tron = Reactotron.configure({ ...

查看您的reactotronConfig.js文件,我注意到您正在将其发送到localhost。这仅在模拟器上运行时才有效(不确定那是您在做什么)。

如果要在设备上运行它,则需要为其提供打包程序的ip地址。整齐的方法是使用以下代码:

import { NativeModules } from 'react-native';

let packagerHostname = "localhost";
if (__DEV__) {
 const scriptURL = NativeModules.SourceCode.scriptURL;
 packagerHostname = scriptURL.split("://")[1].split(":")[0];
}

const reactotron = Reactotron.configure({
  name: "myAPPILOC",
  host: packagerHostname
});

console.tron = Reactotron;

答案 2 :(得分:0)

您必须执行以下操作:

  1. 在CLI上输入:adb reverse tcp:9090 tcp:9090
  2. 将此添加到文件中(例如lib / Reactotron.js):
import Reactotron, { asyncStorage } from 'reactotron-react-native';
Reactotron
    .configure() // controls connection & communication settings
    .useReactNative(asyncStorage()) // add all built-in react native plugins
    .connect();
  1. 将文件导入您的app.js:
    if (__DEV__) {
      import('../../lib/Reactotron').then(() => console.log('Reactotron Configured'));
    }

注意 :如果您不想在host内使用configure()属性,请务必使用{{1 }}。就我而言,其他IP(即使像192.x.x.x这样的本地IP)也无法正常工作。

在那之后,您的连接应该可以正常工作了,您可以按照文档中所述使用Reactotron。


提示:

对于Linux和Mac,您可以将其添加到package.json(脚本部分)(根据需要调整reactotron应用的路径和调用):

127.0.0.1

答案 3 :(得分:0)

我可以推荐的和对我有用的是安装以下版本软件包:

 "reactotron-react-native": "3.5.0",
    "reactotron-redux": "3.1.0",

然后,您需要相应地配置store

import {createStore, applyMiddleware, compose, combineReducers} from 'redux';

const appReducer = combineReducers({
  ...reducers,
});
const middleware = applyMiddleware(thunkMiddleware);
//react-native-debugger config
// eslint-disable-next-line no-underscore-dangle
const composeEnhancers = window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ || compose;
// const store = Reactotron.createStore(appReducer, composeEnhancers(middleware));
const store = createStore(appReducer, composeEnhancers(middleware, Reactotron.createEnhancer()));

当然,以上是我的设置,但是您需要进行相应的调整,要点是按照此处记录的配置进行操作: https://github.com/infinitered/reactotron/blob/master/docs/plugin-redux.md

答案 4 :(得分:0)

我做了adb reverse tcp:9090 tcp:9090,这是我从Suther和yarn start --reset-cache那里得到的,并且有效。