Match-id-f0e7424b75b18470293cc3ef4a49bbe02d65caf4

This commit is contained in:
* 2022-01-25 14:53:48 +08:00 committed by *
parent 2d97a19610
commit b6d3a8f5fe
7 changed files with 11 additions and 13 deletions

View File

@ -66,8 +66,8 @@ function executeRender(
return getFirstCustomDom(treeRoot); return getFirstCustomDom(treeRoot);
} }
function findDOMNode(domOrEle: Element): null | Element | Text { function findDOMNode(domOrEle?: Element): null | Element | Text {
if (!domOrEle) { if (domOrEle == null) {
return null; return null;
} }

View File

@ -94,7 +94,7 @@ export function getEventToListenerMap(target: EventTarget): Map<string, EventLis
let eventsMap = target[internalKeys.nonDelegatedEvents]; let eventsMap = target[internalKeys.nonDelegatedEvents];
if (!eventsMap) { if (!eventsMap) {
eventsMap = new Map(); eventsMap = new Map();
target[internalKeys.nonDelegatedEvents] = new Map(); target[internalKeys.nonDelegatedEvents] = eventsMap;
} }
return eventsMap; return eventsMap;
} }

View File

@ -72,7 +72,7 @@ export class CustomKeyboardEvent extends CustomBaseEvent {
super(customEvtName, nativeEvtName, nativeEvt, vNode, target); super(customEvtName, nativeEvtName, nativeEvt, vNode, target);
this.key = getKey(nativeEvt); this.key = getKey(nativeEvt);
this.charCode = nativeEvtName === 'keypress' ? uniqueCharCode(nativeEvt) : 0; 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; this.which = this.charCode || this.keyCode;
} }
} }

View File

@ -9,7 +9,7 @@ const SPACE_CHAR = String.fromCharCode(CHAR_CODE_SPACE);
function getInputCharsByNative( function getInputCharsByNative(
eventName: string, eventName: string,
nativeEvent: any, nativeEvent: any,
): string | null | void { ): string | null {
if (eventName === 'compositionend') { if (eventName === 'compositionend') {
return (nativeEvent.detail && nativeEvent.detail.data) || null; return (nativeEvent.detail && nativeEvent.detail.data) || null;
} }

View File

@ -54,7 +54,7 @@ function captureLazyComponent(
processing.type = Component; processing.type = Component;
const lazyVNodeTag = getLazyVNodeTag(Component); const lazyVNodeTag = getLazyVNodeTag(Component);
processing.tag = getLazyVNodeTag(Component); processing.tag = lazyVNodeTag;
const lazyVNodeProps = mergeDefaultProps(Component, processing.props); const lazyVNodeProps = mergeDefaultProps(Component, processing.props);
const lazyRender = LazyRendererMap[lazyVNodeTag]; const lazyRender = LazyRendererMap[lazyVNodeTag];

View File

@ -157,12 +157,12 @@ function canCapturePromise(vNode: VNode | null): boolean {
} }
// 处理Suspense子组件抛出的promise // 处理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; let vNode = parent;
// 向上找到最近的不在fallback状态的Suspense并触发重新渲染 // 向上找到最近的不在fallback状态的Suspense并触发重新渲染
do { do {
if (vNode?.tag === SuspenseComponent && canCapturePromise(vNode)) { if (vNode.tag === SuspenseComponent && canCapturePromise(vNode)) {
if (vNode.suspensePromises === null) { if (vNode.suspensePromises === null) {
vNode.suspensePromises = new Set(); vNode.suspensePromises = new Set();
} }

View File

@ -25,11 +25,9 @@ export function callDerivedStateFromProps(
const newState = getDerivedStateFromProps(nextProps, oldState); const newState = getDerivedStateFromProps(nextProps, oldState);
// 组件未返回state,需要返回旧的preState // 组件未返回state,需要返回旧的preState
if (newState) { processing.state = newState === null || newState === undefined
processing.state = { ...oldState, ...newState }; ? oldState
return; : { ...oldState, ...newState };
}
processing.state = oldState;
} }
} }