检查点
什么是状态还原器模式?
让我们开始学习还原器模式吧!
为什么使用状态还原器模式?
状态还原器模式是本课程中我们将讨论的最后一个、也是最复杂的模式。不要被它吓到。我会慢慢解释它的实际运作原理,同时说明它的重要性。
当我们编写自定义 Hook 或组件时,它们很可能需要某种方式来跟踪内部状态。通过状态还原器模式,我们把控制权交给自定义 Hook/组件的使用者,让他们决定内部状态如何更新。
普通模式下的状态更新
这种机制的技术术语称为“控制反转”(inversion of control)。通俗地说,就是一种允许用户控制你 API 内部工作方式的系统。
让我们从概念上理解一下它是如何工作的。
自定义 Hook 或组件向使用者传递更新的标准流程如下:
...
自定义 Hook/组件中的状态更新通信
在自定义 Hook 中,我们调用 useState、useReducer 或 setState 来内部更新状态。一旦更新完成,新的状态值就会传递给使用者。
这正是我们之前所学的所有模式的工作方式。
还原器模式下的状态更新
在状态还原器模式中,内部状态更新的方式发生了显著变化。
以下是示意图:
...
新的内部状态更新模式
使用状态还原器时,关键点在于:在进行任何内部状态更新之前,我们会先将提议的变更发送给使用者。如果使用者认可这些变更,我们就按提议的内容更新状态;如果他们希望覆盖某个状态变更,也可以自行决定。
内部状态的更新由使用者控制,他们拥有发言权!
快速小测验!
让我们通过一个小测验来检验对状态还原器模式的理解。
接下来的课程中,我们将深入探讨该模式的具体实现细节!
Quiz
Single Choice
其他模式中的更新是如何进行的?
1 / 2