javascript - Redux 中的 reducer 是否代表 FSA?

标签 javascript redux finite-automata

最近我一直在学习 Redux,在阅读文档时,我遇到了一个叫做 reducers 的东西。 根据doc ,

The reducer is a pure function that takes the previous state and an action, and returns the next state.

(previousState, action) => newState;

这听起来有点熟悉有限状态自动机,它采用当前状态输入,然后转到下一个状态.

那么将 reducers 视为 FSA 是正确的还是有什么不同?

最佳答案

reducer 描述确定性状态转换,因此您认为它听起来类似于 FSA 是对的。

主要区别在于 reducer 仅描述确定性状态转换,它不限制可以传递的可能状态或操作。

reducer 可以传递无数种不同的状态,也可以传递无数种不同的 Action ,因此 reducer 本身并不能描述确定性状态自动机。

reducer 结合有限数量的状态描述和有限数量的可以传递给它的可能操作将共同构成确定性有限自动机的定义。

关于javascript - Redux 中的 reducer 是否代表 FSA?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51582646/

相关文章:

javascript - 如何在 React Hooks 中使用 setTimeout 更新状态值?

javascript - v8/firefox RegExp 实现是基于有限自动机还是递归回溯?

javascript - 在 Javascript 中,为什么 array.map(String) 返回字符串数组?

reactjs - 构建 React 项目后如何设置节点环境变量(运行时)?

javascript - d3.js:如何将标签添加到图表上的散点

reactjs - Redux:与 DOM 交互的位置,由操作触发但在 React 应用程序外部发生变化

algorithm - 确定性有限自动机模式

regex - 正则表达式引擎如何解释不规则性?

javascript - 无法读取未定义的属性 CSS

javascript - 在鼠标悬停时更改不透明度