当我阅读 React Fiber Souce Code 时,我在beginWork
. 以下是源代码片段:
switch (workInProgress.tag) {
case FunctionComponent: {
const Component = workInProgress.type;
const unresolvedProps = workInProgress.pendingProps;
const resolvedProps =
workInProgress.elementType === Component
? unresolvedProps
: resolveDefaultProps(Component, unresolvedProps);
return updateFunctionComponent(
current,
workInProgress,
Component,
resolvedProps,
renderLanes,
);
}
}
接下来是我的问题
- workInProgress.type 和 workInProgress.elementType 有什么区别?
- 在什么情况下它们是相等的?
- 他们平等是什么意思?