UpdateQueue 的数据结构是这样的
```js
type UpdateQueue<State> = {
baseState: State,
firstUpdate: Update<State> | null,
lastUpdate: Update<State> | null,
firstCapturedUpdate: Update<State> | null,
lastCapturedUpdate: Update<State> | null,
firstEffect: Update<State> | null,
lastEffect: Update<State> | null,
firstCapturedEffect: Update<State> | null,
lastCapturedEffect: Update<State> | null,
};
```
在 completeWork 阶段执行 updateHostComponent 的时候 代码位置`react/packages/react-reconciler/src/ReactFiberCompleteWork.js/updateHostComponent`
```js
const updatePayload = prepareUpdate(
instance,
type,
oldProps,
newProps,
rootContainerInstance,
currentHostContext,
);
// TODO: Type this specific to this type of component.
workInProgress.updateQueue = updatePayload;
```
`prepareUpdate` 执行完之后返回的是一个数组