diff --git a/docs/hooks/usestate.md b/docs/hooks/usestate.md index 20c0514..e345b4d 100644 --- a/docs/hooks/usestate.md +++ b/docs/hooks/usestate.md @@ -253,11 +253,11 @@ if (fiber.lanes === NoLanes && (alternate === null || alternate.lanes === NoLane `fiber.lanes === NoLanes`意味着`fiber`上不存在`update`。 -我们已经知道,通过`update`计算`state`发生在`申明阶段`,这是因为该`hook`上可能存在多个不同`优先级`的`update`,最终`state`的值由多个`update`共同决定。 +我们已经知道,通过`update`计算`state`发生在`声明阶段`,这是因为该`hook`上可能存在多个不同`优先级`的`update`,最终`state`的值由多个`update`共同决定。 -但是当`fiber`上不存在`update`,则`调用阶段`创建的`update`为该`hook`上第一个`update`,在`申明阶段`计算`state`时也只依赖于该`update`,完全不需要进入`申明阶段`再计算`state`。 +但是当`fiber`上不存在`update`,则`调用阶段`创建的`update`为该`hook`上第一个`update`,在`声明阶段`计算`state`时也只依赖于该`update`,完全不需要进入`声明阶段`再计算`state`。 -这样做的好处是:如果计算出的`state`与该`hook`之前保存的`state`一致,那么完全不需要开启一次调度。即使计算出的`state`与该`hook`之前保存的`state`不一致,在`申明阶段`也可以直接使用`调用阶段`已经计算出的`state`。 +这样做的好处是:如果计算出的`state`与该`hook`之前保存的`state`一致,那么完全不需要开启一次调度。即使计算出的`state`与该`hook`之前保存的`state`不一致,在`声明阶段`也可以直接使用`调用阶段`已经计算出的`state`。 > 你可以在[这里](https://github.com/acdlite/react/blob/1fb18e22ae66fdb1dc127347e169e73948778e5a/packages/react-reconciler/src/ReactFiberHooks.new.js#L1727)看到这段提前计算`state`的逻辑