Redux 是一个强大的状态管理库,但是当应用规模变大时,调试 Redux 的复杂度会随之增加。Redux-devtools-extension 提供了强大的工具来帮助开发者调试 Redux 应用程序。本文将详细介绍 Redux-devtools-extension,并包含示例代码。
Redux-devtools-extension 是什么?
Redux-devtools-extension 是Redux 官方推荐的 Chrome 浏览器扩展程序,它提供了几个有用的功能:
- 时间旅行(time travel): 允许开发者回溯应用程序不同时间点的状态
- 实时编码:允许开发者在运行时编辑 Redux reducer
- 实时监控:实时监控应用程序的 Redux 状态
Redux-devtools-extension 提供了一个用于调试 Redux 的强大工具集。开发者可以使用它来查看 Redux 最终状态,同时还可以使用调试工具监视 Redux 中的任何变化。
如何使用 Redux-devtools-extension
要开始使用 Redux-devtools-extension,首先需要安装它。
npm install --save-dev redux-devtools-extension
然后在 create store 函数中 启用它:
import { createStore } from 'redux'; import rootReducer from './reducers'; import { composeWithDevTools } from 'redux-devtools-extension'; const store = createStore(rootReducer, composeWithDevTools());
接下来,当开发者在浏览器上打开应用程序时,Redux-devtools-extension 工具栏会自动添加到其浏览器的开发者工具中。
Redux-devtools-extension 的示例代码
下面是一个使用 Redux-devtools-extension 的简单示例。在这个示例中,我们将创建一个名为 counter 的 Redux 应用程序。
我们需要在项目的 package.json 中添加以下依赖:
"dependencies": { "redux": "^4.1.1", "react-redux": "^7.2.5" }, "devDependencies": { "redux-devtools-extension": "^2.13.9" }
接着创建 actions:
export const increment = () => { return { type: 'INCREMENT' }; }; export const decrement = () => { return { type: 'DECREMENT' }; };
创建 reducers:
-- -------------------- ---- ------- ----- -------------- - ------ - - ------ - -- ------- -- - ------ ------------- - ---- ------------ ------ - ------ ----------- - - -- ---- ------------ ------ - ------ ----------- - - -- -------- ------ ------ - -- ------ ------- ---------------
创建 store:
import { createStore } from 'redux'; import { composeWithDevTools } from 'redux-devtools-extension'; import counterReducer from './reducers/counterReducer'; const store = createStore(counterReducer, composeWithDevTools());
现在可以在组件中使用我们创建的 store,如下所示:
-- -------------------- ---- ------- ------ ----- ---- -------- ------ - ------- - ---- -------------- ------ - ---------- --------- - ---- ------------- ----- ------- - -- ------ ---------- --------- -- -- - ------ - ----- -------------- ------- -------------------------------------- ------- -------------------------------------- ------ -- -- ----- --------------- - ------- -- - ------ - ------ ----------- -- -- ------ ------- ------------------------ - ---------- --------- ------------
现在,当我们打开浏览器,在 Redux-devtools-extension 工具栏中,就可以看到如下所示的一个计数器:
当我们单击 '+' 按钮或 '-' 按钮时,会看到 Redux 状态的更改。还可以使用“时间旅行”功能回溯状态,以检查 Redux 状态在不同时间点的变化。
总结
Redux-devtools-extension 是一个强大的 Redux 调试工具,为开发者调试 Redux 应用程序提供了非常便利的方法。本文详细介绍 Redux-devtools-extension 的使用方法,同时提供了一个简单的示例代码。当我们在开发 Redux 应用程序时,Redux-devtools-extension 应该是我们调试 Redux 的首选工具之一。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/648a778748841e9894899a3b