Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

When resize is observed, suspend until next animation frame to avoid … #9

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

peeke
Copy link

@peeke peeke commented May 22, 2023

…undeliverable notifactions

Goede write-up over de meldingen: https://blog.elantha.com/resizeobserver-loop-limit-exceeded/

De errors zijn erg moeilijk te reproduceren omdat onze hook geen styles aanpast binnen de callback. Ik vermoed dat ze alleen optreden tijdens lange frames.

Deze fix zou ze bij de bron aan moeten pakken. Kan evt. een beta release doen, om te testen in een project waarin veel meldingen voor kwamen.

@peeke peeke requested a review from EECOLOR May 22, 2023 09:35
Copy link
Member

@EECOLOR EECOLOR left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Dit lijkt me niet de juiste oplossing.

Voor zover ik weet triggert React direct een render wanneer er een setState gedaan wordt tijdens een animation frame (dit zouden we even kunnen testen).

Dat zou beteken dat we door requestAnimationFrame te gebruiken potentieel problematisch gedrag kunnen krijgen.

Wellicht dat het oorspronkelijke probleem is dat de resize observer tijdens het animation frame wordt getriggert.

Praktisch gezien gelden de volgende regels:

  • DOM updates in animation frames (of useLayoutEffect)
  • DOM reads daarbuiten

Met React komt daar volgens mij nog bij dat je geen hele render cyclus wilt tijdens een animation frame.

Moeten we nog maar een keer over overleggen.

@peeke
Copy link
Author

peeke commented May 26, 2023

Ja, ik probeer je vandaag wel even te bellen. Ik krijg het issue alleen buiten React gereproduceerd.

Ik weet niet zeker of deze thread nog actueel is, maar het lijkt er hier op dat React meerdere renders naar de dom kan doen binnen een animation frame: wat de error denk ik ook zou triggeren: facebook/react#11171

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants