Skip to content

Commit

Permalink
ensure resize observer is calculated once per frame to avoid loops (#763
Browse files Browse the repository at this point in the history
)
  • Loading branch information
sserrata committed Mar 21, 2024
1 parent 4f4fe67 commit 529efba
Show file tree
Hide file tree
Showing 5 changed files with 35 additions and 25 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -67,11 +67,13 @@ function TabList({
useEffect(() => {
const resizeObserver = new ResizeObserver((entries) => {
for (let entry of entries) {
if (entry.target.offsetWidth < entry.target.scrollWidth) {
setShowTabArrows(true);
} else {
setShowTabArrows(false);
}
requestAnimationFrame(() => {
if (entry.target.offsetWidth < entry.target.scrollWidth) {
setShowTabArrows(true);
} else {
setShowTabArrows(false);
}
});
}
});

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -57,11 +57,13 @@ function TabList({ className, block, selectedValue, selectValue, tabValues }) {
useEffect(() => {
const resizeObserver = new ResizeObserver((entries) => {
for (let entry of entries) {
if (entry.target.offsetWidth < entry.target.scrollWidth) {
setShowTabArrows(true);
} else {
setShowTabArrows(false);
}
requestAnimationFrame(() => {
if (entry.target.offsetWidth < entry.target.scrollWidth) {
setShowTabArrows(true);
} else {
setShowTabArrows(false);
}
});
}
});

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -94,11 +94,13 @@ function TabList({
useEffect(() => {
const resizeObserver = new ResizeObserver((entries) => {
for (let entry of entries) {
if (entry.target.offsetWidth < entry.target.scrollWidth) {
setShowTabArrows(true);
} else {
setShowTabArrows(false);
}
requestAnimationFrame(() => {
if (entry.target.offsetWidth < entry.target.scrollWidth) {
setShowTabArrows(true);
} else {
setShowTabArrows(false);
}
});
}
});

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -60,11 +60,13 @@ function TabList({ className, block, selectedValue, selectValue, tabValues }) {
useEffect(() => {
const resizeObserver = new ResizeObserver((entries) => {
for (let entry of entries) {
if (entry.target.offsetWidth < entry.target.scrollWidth) {
setShowTabArrows(true);
} else {
setShowTabArrows(false);
}
requestAnimationFrame(() => {
if (entry.target.offsetWidth < entry.target.scrollWidth) {
setShowTabArrows(true);
} else {
setShowTabArrows(false);
}
});
}
});

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -57,11 +57,13 @@ function TabList({ className, block, selectedValue, selectValue, tabValues }) {
useEffect(() => {
const resizeObserver = new ResizeObserver((entries) => {
for (let entry of entries) {
if (entry.target.offsetWidth < entry.target.scrollWidth) {
setShowTabArrows(true);
} else {
setShowTabArrows(false);
}
requestAnimationFrame(() => {
if (entry.target.offsetWidth < entry.target.scrollWidth) {
setShowTabArrows(true);
} else {
setShowTabArrows(false);
}
});
}
});

Expand Down

0 comments on commit 529efba

Please sign in to comment.