推荐答案
在 React Native 中,Redux 的核心概念包括:
- Store:存储整个应用的状态树。它是唯一的,且不可变的。
- Action:描述状态变化的普通对象。它是唯一可以触发状态变化的途径。
- Reducer:纯函数,接收旧的 state 和 action,返回新的 state。
- Dispatch:触发 action 的方法,将 action 发送到 reducer。
- Selector:用于从 store 中提取特定部分的 state。
本题详细解读
Store
Store 是 Redux 的核心,它保存了整个应用的状态树。在 React Native 中,通常使用 createStore
函数来创建 store。Store 是唯一的,意味着整个应用只有一个 store。
import { createStore } from 'redux'; import rootReducer from './reducers'; const store = createStore(rootReducer);
Action
Action 是一个普通的 JavaScript 对象,用于描述发生了什么。它必须包含一个 type
属性,表示 action 的类型。其他属性可以包含需要传递的数据。
const addTodo = (text) => ({ type: 'ADD_TODO', text });
Reducer
Reducer 是一个纯函数,它接收旧的 state 和 action,返回新的 state。Reducer 必须保持纯净,不能有副作用。
-- -------------------- ---- ------- ----- ------------ - - ------ -- -- -------- ----------------- - ------------- ------- - ------ ------------- - ---- ----------- ------ - --------- ------ ---------------- ------------ -- -------- ------ ------ - -
Dispatch
Dispatch 是触发 action 的方法。它通过调用 store 的 dispatch
方法,将 action 发送到 reducer。
store.dispatch(addTodo('Learn Redux'));
Selector
Selector 是用于从 store 中提取特定部分的 state 的函数。它可以帮助你在组件中获取需要的 state 数据。
const getTodos = (state) => state.todos;
通过理解这些核心概念,你可以更好地在 React Native 中使用 Redux 来管理应用的状态。