我尝试在(IOS)React Native项目中使用Reactotron调试应用程序,但是运行应用程序时出现“无活动”。
我使用react-native 0.55.4,reactotron 2.1.0(在package.json中相同)
答案 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)
您必须执行以下操作:
adb reverse tcp:9090 tcp:9090
import Reactotron, { asyncStorage } from 'reactotron-react-native';
Reactotron
.configure() // controls connection & communication settings
.useReactNative(asyncStorage()) // add all built-in react native plugins
.connect();
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
那里得到的,并且有效。