使用Redux DevTools浏览器插件调试redux

使用Redux DevTools浏览器插件调试redux

与redux的Devtools模块不同,该工具主要依赖浏览器插件完成。模式也比Devtools简单点。

step1 下载插件

Chrome地址(360极速模式也可以用):
https://chrome.google.com/webstore/detail/redux-devtools/lmhkpmbekcpmknklioeibfkpmmfibljd

火狐地址:
https://addons.mozilla.org/en-US/firefox/addon/remotedev/

step2 添加createstore最后一个参数

原来代码:

const store = createStore(
   reducer /* preloadedState, */
 );

修改为:

const store = createStore(
   reducer, /* preloadedState, */
window.__REDUX_DEVTOOLS_EXTENSION__ && window.__REDUX_DEVTOOLS_EXTENSION__()
 );

那么如果你使用了Middleware,原代码是

const store = createStore(
   reducer, /* preloadedState, */
   applyMiddleware(thunk)
 );

怎么办?

这样修改

store = createStore(
        combineReducers(reducers),
        compose(applyMiddleware(thunk),window.__REDUX_DEVTOOLS_EXTENSION__ && window.__REDUX_DEVTOOLS_EXTENSION__()) //插件调试,未安装会报错
    );

使用插件首先要导入compose,然后再使用compose将Middleware和插件调用组合起来。

好了问题又来了,没有安装插件的同学发现运行出错了。怎么办?很简单,做个判断即可,再继续修改一下:

import {createStore, combineReducers, applyMiddleware, compose} from 'redux';
import * as reducers from './auto/reducers';
import thunk from 'redux-thunk';

let store;
if(!(window.__REDUX_DEVTOOLS_EXTENSION__ || window.__REDUX_DEVTOOLS_EXTENSION__)){
    store = createStore(
        combineReducers(reducers),
        applyMiddleware(thunk)
    );
}else{
    store = createStore(
        combineReducers(reducers),
        compose(applyMiddleware(thunk),window.__REDUX_DEVTOOLS_EXTENSION__ && window.__REDUX_DEVTOOLS_EXTENSION__()) //插件调试,未安装会报错
    );
}

export default store;

这样先判断一下是否安装了插件,未安装则不使用插件,否则使用插件。

这里写图片描述


参考原文链接:
https://github.com/zalmoxisus/redux-devtools-extension?utm_source=tuicool&utm_medium=referral

另一种Devtools模块方式介绍请移步下面文章:
http://www.jianshu.com/p/a2d4c1856560

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

FoxMale007

文章非V全文可读,觉得好请打赏

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值