Teact: Fix running layout effect on signal

This commit is contained in:
Alexander Zinchuk 2023-04-15 13:51:10 +02:00
parent 604ee46454
commit e2ef98db09
2 changed files with 7 additions and 6 deletions

View File

@ -42,8 +42,8 @@ const MAPPED_ATTRIBUTES: { [k: string]: string } = {
}; };
const INDEX_KEY_PREFIX = '__indexKey#'; const INDEX_KEY_PREFIX = '__indexKey#';
const headsByElement = new WeakMap<HTMLElement, VirtualDomHead>(); const headsByElement = new WeakMap<Element, VirtualDomHead>();
const extraClasses = new WeakMap<HTMLElement, Set<string>>(); const extraClasses = new WeakMap<Element, Set<string>>();
// eslint-disable-next-line @typescript-eslint/naming-convention // eslint-disable-next-line @typescript-eslint/naming-convention
let DEBUG_virtualTreeSize = 1; let DEBUG_virtualTreeSize = 1;
@ -700,7 +700,7 @@ function updateClassName(element: HTMLElement, value: string) {
element.className = extraArray.join(' '); element.className = extraArray.join(' ');
} }
export function addExtraClass(element: HTMLElement, className: string, forceSingle = false) { export function addExtraClass(element: Element, className: string, forceSingle = false) {
if (!forceSingle) { if (!forceSingle) {
const classNames = className.split(' '); const classNames = className.split(' ');
if (className.length > 1) { if (className.length > 1) {
@ -722,7 +722,7 @@ export function addExtraClass(element: HTMLElement, className: string, forceSing
} }
} }
export function removeExtraClass(element: HTMLElement, className: string, forceSingle = false) { export function removeExtraClass(element: Element, className: string, forceSingle = false) {
if (!forceSingle) { if (!forceSingle) {
const classNames = className.split(' '); const classNames = className.split(' ');
if (className.length > 1) { if (className.length > 1) {
@ -746,7 +746,7 @@ export function removeExtraClass(element: HTMLElement, className: string, forceS
} }
} }
export function toggleExtraClass(element: HTMLElement, className: string, force?: boolean, forceSingle = false) { export function toggleExtraClass(element: Element, className: string, force?: boolean, forceSingle = false) {
if (!forceSingle) { if (!forceSingle) {
const classNames = className.split(' '); const classNames = className.split(' ');
if (className.length > 1) { if (className.length > 1) {

View File

@ -660,8 +660,9 @@ function useEffectBase(
} else { } else {
pendingCleanups.set(effectId, execCleanup); pendingCleanups.set(effectId, execCleanup);
pendingEffects.set(effectId, exec); pendingEffects.set(effectId, exec);
runUpdatePassOnRaf();
} }
runUpdatePassOnRaf();
} }
if (dependencies && byCursor[cursor]?.dependencies) { if (dependencies && byCursor[cursor]?.dependencies) {