- 我刚刚开始学习redux是如何工作的: Redux 是什么意思,有一个特定的函数获取应用程序的整个状态,并调度操作并返回应用程序的整个新状态? 这在企业级应用程序单页应用程序ERP系统上是否可见,或者我误解了什么?
还有函数如何是纯的并在以前的状态下变化" 使用先前状态的 ref 并向其添加新数据,然后将其作为对象返回? 如果不是,那不会影响系统每次复制整个系统状态的速度,对于ERP系统来说?
我获得此信息的课程 1
我获得此信息的课程 2
Redux
在 redux 中,应用的状态表示为传递给应用的单个对象。
这个单一对象是由一个称为reducer的函数构造的。此函数将当前状态和当前操作作为参数,并返回一个新对象,该对象表示操作减少后更改的新状态。
这有点类似于Array.prototype.reduce
,您获得当前累加器(当前状态(当前数组条目(当前操作(并返回新的累加器(新状态(,具体取决于当前累加器和条目(状态和操作(。
组合减速机
不过,这并不意味着您需要将所有应用的逻辑放在一个函数中。Redux 有一个帮助程序combineReducers
,允许您为状态的不同部分编写化简器,然后将它们组合到构造单个状态对象的单个化简器中。
例如,对于带有帖子和评论的博客应用程序,您可以像这样使用它:
import { combineReducers, createStore } from 'redux';
import postsReducer from './postReducer';
import commentsReducer from './commentsReducer';
const rootReducer = combineReducers({
posts: postsReducer,
comments: commentsReducer,
});
const store = createStore(rootReducer);
其中postReducer
和commentsReducer
是两个独立的化简器,每个化简器处理其状态部分。