Redux 是一个流行的状态管理库,它使得应用的状态变得可预测、可调试,从而更容易编写正确的应用程序。本文将介绍 Redux 的常用概念,帮助前端开发者更好地理解和使用 Redux。
1. Store
Store 是 Redux 中最重要的概念之一,它包含了应用的所有状态。一个 Redux 应用只能有一个 Store。一个 Store 包含了以下三个部分:
- State:一个对象,它表示整个应用的状态。
- Action:描述事件的普通对象,它们携带数据从应用中流向 Store。
- Reducer:一个纯函数,它接受当前的状态和一个 action,返回修改后的新状态。
创建一个 Redux Store 的代码如下:
import { createStore } from 'redux' import rootReducer from './reducers' const store = createStore(rootReducer)
2. Action
Action 是 Redux 中描述事件的普通对象。每个 Action 必须包括一个 type
字段,用于指定该 Action 的类型。
例如,一个递增计数器的 Action 可以写成如下形式:
const increment = { type: 'INCREMENT' }
Action 也可以携带其他数据,例如:
const addTodo = { type: 'ADD_TODO', text: 'Learn Redux' }
3. Reducer
Reducer 是 Redux 中修改状态的纯函数。它接受应用的当前状态和一个 Action,返回修改后的新状态。Reducer 应该是一个纯函数,它不应该产生副作用,也不应该修改传入的参数。
例如,一个简单的计数器 Reducer 可以写成如下形式:
-- -------------------- ---- ------- -------- -------------------- - -- ------- - ------ ------------- - ---- ------------ ------ ----- - - ---- ------------ ------ ----- - - -------- ------ ----- - -展开代码
4. Dispatch
Dispatch 是 Redux 中触发 Action 的函数。每当用户执行某个操作时,我们需要将相应的 Action 发送给 Store。Dispatch 函数接受一个 Action 对象作为参数,并将其传递给 Reducer 来修改应用的状态。
例如,可以通过以下代码来触发一个 Action:
store.dispatch({ type: 'INCREMENT' })
5. Subscribe
Subscribe 是 Redux 中订阅状态变化的函数。每当 Store 中的状态发生变化时,订阅函数会被调用。
例如,可以通过以下代码来订阅状态变化:
store.subscribe(() => { console.log(store.getState()) })
总结
本文介绍了 Redux 的常用概念,包括 Store、Action、Reducer、Dispatch 和 Subscribe。这些概念都是 Redux 架构的重要组成部分。理解这些概念将有助于前端开发者更好地使用 Redux 构建可维护、可扩展的应用程序。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/6496dafe48841e989440c5da