react native debugger 远程调试redux工具

摘要:
reactnative是现在比较火的App开发技术。使用reactnative开发的朋友一般也会使用到facebook提出的Flux概念框架,而redux框架是使用的比较多的。redux的一大原则是单一数据源,只存在唯一的state树,以前由于工具的缺失,reactnative查看不了state,刚使用redux的时候按照文档安装了chrome扩展,也查看不了state树,每次都要自己打印出来看,比较麻烦。想来都说的是web的工具,今天找到了react-native的工具,可以远程调试redux。

react native是现在比较火的App开发技术。使用react native开发的朋友一般也会使用到facebook提出的Flux概念框架,而redux框架是使用的比较多的。

redux的一大原则是单一数据源,只存在唯一的state树,以前由于工具的缺失,react native查看不了state,刚使用redux的时候按照文档安装了chrome扩展,

也查看不了state树,每次都要自己打印出来看,比较麻烦。想来都说的是web的工具,今天找到了react-native的工具,可以远程调试redux。

使用的remote-redux-devtools-on-debugger这个工具实现的。

首先,按照官方的文档安装依赖

npm install --save-dev remote-redux-devtools
npm install --save-dev remote-redux-devtools-on-debugger

然后,在项目的package.json里加入脚本命令

"scripts": {
  "postinstall": "remotedev-debugger --hostname localhost --port 5678 --injectserver"
}
remotedev-debugger命令参数请查看官方文档

加完脚本命令执行

npm run postinstall

会替换掉./node_modules/react-native/local-cli/server/util/debugger.html

react native debugger 远程调试redux工具第1张

如果升级或者降级react-native,需要执行上面的命令替换远程调试页面

再然后修改store配置文件添加与远程工具的通讯,一般为configureStore.js

import { Platform } from 'react-native';
import { createStore, applyMiddleware, compose } from 'redux';
import thunk from 'redux-thunk';
import devTools from 'remote-redux-devtools';
import reducer from '../reducers';

export default functionconfigureStore(initialState) {
  const enhancer =compose(
    applyMiddleware(thunk),
    devTools({
      name: Platform.OS,
      hostname: 'localhost',
      port: 5678})
  );
  returncreateStore(reducer, initialState, enhancer);
}

最后,react-native start启动服务,在App的调试菜单里点击Debug JS打开调试界面或者手动在chrome里输入调试界面的网址

启动js server服务的时候会启动redux调试服务

react native debugger 远程调试redux工具第2张

react native debugger 远程调试redux工具第3张

注意:

remotedev-debugger的地址,按照官方的文档说的是如果是在真机上使用,地址需要是ip地址(未测试)
我因为是手机的系统是安卓5.0,使用adb转发就行
adb reverse tcp:5678 tcp:5678
端口改成你配置的端口

免责声明:文章转载自《react native debugger 远程调试redux工具》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇JAVA基础学习_命名规范和注释MyBatis5:MyBatis集成Spring事务管理(上篇)下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

小窥React360——用React创建360全景VR体验

前言    混迹VR届的发烧友兼开发者们一定不要错过这款FaceBook推出的跨端VR开发框架——React360,称为360全景体验框架更为准确,因为其前身是FaceBook和Oculus2017年发布的一个叫作“Racet VR”的JS库,用来在web端创建3D和VR体验。后来Oculus使用该框架的原生C++版本构建自己部分应用,随着时间推移,由于要...

第3章 从Flux到Redux

第3章 从Flux到Redux 3.1 Flux 单向数据流,React是用来替换Jquery的,Flux是以替换Backbone.js、Ember.js等MVC框架为主的。 actionTypes.js定义action类型; actions.js定义action构造函数,决定了这个功能模块可以接受的动作; reducer.js定义这个功能模块如何响应ac...

react(三):容器组件和傻瓜组件

让一个组件只专注于一件事,如果发现让一个组件做的事情太多,就可以把这个组件拆分成多个组件让每一个组件只专注于一件事 《深入浅出react和redux》 ---程墨 一个react组件最基本的基本上就是完成两大功能   1、读取store的状态,用于初始化组件的两大状态,监听store的状态变化   2、根据当前的props和state,渲染出用户的界面 先...

React 路由

1. 下载插件 yarn add react-router-dom --save / npm i react-router-dom --save 2. 配置基础路由 import { BrowserRouter, Route, Link } from 'react-router-dom' <Provider> <Browser...

基于React Native的58 APP开发实践

React Native在iOS界早就炒的火热了,随着2015年底Android端推出后,一套代码能运行于双平台上,真正拥有了Hybrid框架的所有优势。再加上Native的优秀性能,让越来越多的公司在实际项目中一探究竟。58同城APP发布模块年代久远,一直计划进行重构以适应日益苛刻的用户体验,这个需求与我们在React Native上一探究竟的意愿一碰撞...

react中用swiper实现大图功能

1.引入Swiper(用的是4.5.0版本) import Swiper from 'swiper'; //引入样式,还可以加上自己的样式 import '../../style/swiper.min.css'; 2.在页面加载后和获取完数据后new一个swiper(如果数据没加载完就new会出现不能滑动现象) new Swiper('.swiper-...