Match-id-f0e7424b75b18470293cc3ef4a49bbe02d65caf4
This commit is contained in:
parent
2d97a19610
commit
b6d3a8f5fe
|
@ -66,8 +66,8 @@ function executeRender(
|
|||
return getFirstCustomDom(treeRoot);
|
||||
}
|
||||
|
||||
function findDOMNode(domOrEle: Element): null | Element | Text {
|
||||
if (!domOrEle) {
|
||||
function findDOMNode(domOrEle?: Element): null | Element | Text {
|
||||
if (domOrEle == null) {
|
||||
return null;
|
||||
}
|
||||
|
||||
|
|
|
@ -94,7 +94,7 @@ export function getEventToListenerMap(target: EventTarget): Map<string, EventLis
|
|||
let eventsMap = target[internalKeys.nonDelegatedEvents];
|
||||
if (!eventsMap) {
|
||||
eventsMap = new Map();
|
||||
target[internalKeys.nonDelegatedEvents] = new Map();
|
||||
target[internalKeys.nonDelegatedEvents] = eventsMap;
|
||||
}
|
||||
return eventsMap;
|
||||
}
|
||||
|
|
|
@ -72,7 +72,7 @@ export class CustomKeyboardEvent extends CustomBaseEvent {
|
|||
super(customEvtName, nativeEvtName, nativeEvt, vNode, target);
|
||||
this.key = getKey(nativeEvt);
|
||||
this.charCode = nativeEvtName === 'keypress' ? uniqueCharCode(nativeEvt) : 0;
|
||||
this.keyCode = nativeEvtName === 'keydown' || nativeEvtName === 'keyup' ? nativeEvt.keyCode : 0;
|
||||
this.keyCode = (nativeEvtName === 'keydown' || nativeEvtName === 'keyup') ? nativeEvt.keyCode : 0;
|
||||
this.which = this.charCode || this.keyCode;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -9,7 +9,7 @@ const SPACE_CHAR = String.fromCharCode(CHAR_CODE_SPACE);
|
|||
function getInputCharsByNative(
|
||||
eventName: string,
|
||||
nativeEvent: any,
|
||||
): string | null | void {
|
||||
): string | null {
|
||||
if (eventName === 'compositionend') {
|
||||
return (nativeEvent.detail && nativeEvent.detail.data) || null;
|
||||
}
|
||||
|
|
|
@ -54,7 +54,7 @@ function captureLazyComponent(
|
|||
processing.type = Component;
|
||||
|
||||
const lazyVNodeTag = getLazyVNodeTag(Component);
|
||||
processing.tag = getLazyVNodeTag(Component);
|
||||
processing.tag = lazyVNodeTag;
|
||||
const lazyVNodeProps = mergeDefaultProps(Component, processing.props);
|
||||
|
||||
const lazyRender = LazyRendererMap[lazyVNodeTag];
|
||||
|
|
|
@ -157,12 +157,12 @@ function canCapturePromise(vNode: VNode | null): boolean {
|
|||
}
|
||||
|
||||
// 处理Suspense子组件抛出的promise
|
||||
export function handleSuspenseChildThrowError(parent: VNode | null, processing: VNode, error: any): boolean {
|
||||
export function handleSuspenseChildThrowError(parent: VNode, processing: VNode, error: any): boolean {
|
||||
let vNode = parent;
|
||||
|
||||
// 向上找到最近的不在fallback状态的Suspense,并触发重新渲染
|
||||
do {
|
||||
if (vNode?.tag === SuspenseComponent && canCapturePromise(vNode)) {
|
||||
if (vNode.tag === SuspenseComponent && canCapturePromise(vNode)) {
|
||||
if (vNode.suspensePromises === null) {
|
||||
vNode.suspensePromises = new Set();
|
||||
}
|
||||
|
|
|
@ -25,11 +25,9 @@ export function callDerivedStateFromProps(
|
|||
const newState = getDerivedStateFromProps(nextProps, oldState);
|
||||
|
||||
// 组件未返回state,需要返回旧的preState
|
||||
if (newState) {
|
||||
processing.state = { ...oldState, ...newState };
|
||||
return;
|
||||
}
|
||||
processing.state = oldState;
|
||||
processing.state = newState === null || newState === undefined
|
||||
? oldState
|
||||
: { ...oldState, ...newState };
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue