模块开发之redux-devtools-extension调试工具使用详解(十一)
发布日期:2021-06-29 14:16:20
浏览次数:2
分类:技术文章
本文共 2342 字,大约阅读时间需要 7 分钟。
模块开发之redux-devtools-extension调试工具使用详解(十一)
前言
redux-devtools
和redux-devtools-extension
是2个不同的框架。
redux-devtools
是侵入式的,是开发环境下开发redux一个强大的开发工具。它使用monitor
实时监听您的store
。需要安装模块。 如果你不想安装任何模块,侵入你的项目里。是个很好的选择,它支持chrome
,Firefox
以及360
浏览器,它提供了大部分常用的监听器去配置你的项目,不需要安装任何模块(其实有安装选项)。配置极其简单。 本文只介绍redux-devtools-extension。
注意,版本2.7之后,
或window.devToolsExtension
被重命名为window.__REDUX_DEVTOOLS_EXTENSION__
window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__
,所以项目不建议使用window.devToolsExtension
方式了。
安装调试工具插件
。
当然你需要安装googe访问助手
,下载 密码:ugqj
。 google浏览器需要6.6以下版本,因为6.7不支持拖拽安装google访问助手了,需要在线安装。 非侵入式
没有使用中间件的情况
我们知道createStore()
的第二个参数是可选的, 用于设置 state
初始状态,一般是省略掉的。
process.env.NODE_ENV === 'production'
去判断当前环境 实现如下 let store = process.env.NODE_ENV === 'production' ? ( createStore(reducer, applyMiddleware(thunkMiddleware))) : ( window.__REDUX_DEVTOOLS_EXTENSION__ ? ( createStore(reducer, window.__REDUX_DEVTOOLS_EXTENSION__()) ) : ( createStore(reducer, applyMiddleware(thunkMiddleware)) ))
使用中间件情况
项目里,除了中间件名称thunkMiddleware
外,其它复制粘贴即可
let store = process.env.NODE_ENV === 'production' ? ( createStore(reducer, applyMiddleware(thunkMiddleware))) : ( window.__REDUX_DEVTOOLS_EXTENSION__ ? ( createStore(reducer, compose(applyMiddleware(thunkMiddleware), window.__REDUX_DEVTOOLS_EXTENSION__())) ) : ( createStore(reducer, applyMiddleware(thunkMiddleware)) ))
侵入式
侵入式是要安装redux-devtools-extension该模块的,在文件里引用模块。
安装
npm install --save redux-devtools-extension
没有使用中间件的情况
import { createStore } from 'redux';import { devToolsEnhancer } from 'redux-devtools-extension/logOnlyInProduction';const store = createStore(reducer, devToolsEnhancer( // Specify here name, actionsBlacklist, actionsCreators and other options if needed //一般省略不写));
注意到logOnlyInProduction
,它表示引入的模块只在生产环境起作用,即 process.env.NODE_ENV === 'production'
时,对应的开发环境为developmentOnly
,默认是开发环境使用。
使用中间件情况
import { createStore, applyMiddleware } from 'redux'; import { composeWithDevTools } from 'redux-devtools-extension/logOnlyInProduction';const composeEnhancers = composeWithDevTools({ // options like actionSanitizer, stateSanitizer });const store = createStore(reducer, composeEnhancers( applyMiddleware(...middleware) ));
总结
我推荐方式还是非侵入式的。
在chrome浏览器里实战
chrome操作界面如下
我们可以用时间线还原上一次state
数据。
redux-devtools-extension
功能。 参考文档
转载地址:https://chenyuan.blog.csdn.net/article/details/80884895 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
路过按个爪印,很不错,赞一个!
[***.219.124.196]2024年04月05日 21时52分14秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
知乎热议:嵌入式开发中C++好用吗?
2019-04-29
这100道Linux常见面试题,看看你会多少?
2019-04-29
嵌入式开发中常用的几种通信接口总结
2019-04-29
读博读废了是种什么样的体验?
2019-04-29
为什么你学C++这么难?
2019-04-29
无人机破巡检难题,秒变电网卫士
2019-04-29
五年,我成为了一名嵌入式工程师。
2019-04-29
2020年电赛题目,命题专家们怎么看?
2019-04-29
PCB元器件摆放不可忽略的10个技巧
2019-04-29
掌握AI核心技术没有秘籍,能自己创造就是王道
2019-04-29
大学老师的月薪多少?实话实说:4万多一点……
2019-04-29
2020年电赛题目,命题专家权威解析!
2019-04-29
写论文,这个神器不能少!
2019-04-29
现在做硬件工程师还有前途吗?
2019-04-29
华为被超越!这家公司成中国最大智能手机制造商,不是小米!
2019-04-29
芯片为什么持续缺货?
2019-04-29
美国无人机在火星首飞成功,创造历史,3米飞行高度悬停30秒
2019-04-29
缺货涨价很久的MCU的国产和国外厂家汇总!(80家)
2019-04-29
华为重磅反击,鸿蒙来了!
2019-04-29
常用电子接口大全,遇到不认识的,就翻出来对照辨认!
2019-04-29