używałem wersji Chrome: Version 55.0.2883.75 beta (64-bit)
z material-ui
(https://github.com/callemall/material-ui) wersję 0.16.5
z react
+ react-dom
wersji 15.4.1
i zauważyłem następujący komunikat ostrzegawczy, kiedy przewijać w dół strony za pomocą kółka myszy:obchodzenia imprezy wejściowego „koło” został opóźniony do xxx ms ze względu na główny wątek jest zajęty
Obsługa zdarzenia wejściowego "koło" była opóźniona dla xxx ms, ponieważ główny wątek jest zajęty. Rozważ oznaczenie programu obsługi zdarzeń jako "pasywny", aby strona była bardziej responsywna.
Oto zrzut ekranu z konsoli chrom dev:
Początkowo myślałem drugą zależność react-waypoint
był przyczyną problemu, ale po pewnym dochodzenia, a dzięki ups follow Lencioni w https://github.com/brigade/react-waypoint/issues/143, zdałem sobie sprawę, może to być spowodowane kombinacją react
z najnowszą wersją material-ui
.
Z material-ui
wersji 0.16.5
, że wheel
detektorów zdarzeń staje się widoczna na karcie Dev Narzędzie Element Chrome następująco: że ma własność passive: false
które mogłyby wyjaśnić, dlaczego na konsoli pojawi się ostrzeżenie podczas przewijania natomiast główny wątek jest zajęty.
Jednak czytając podobne stanowisko o Consider marking event handler as 'passive' to make the page more responsive, jestem nieco bardziej mylić, bo to zasugerował, że być może będziemy musieli czekać do biblioteki .js do wdrożenia wsparcia. Zanim zgłosiłem problem z githubem, aby zasugerować takie ulepszenie, mój mylący punkt brzmiał: , od którego biblioteki/zależności zależnie od JS powinniśmy oczekiwać?
Czy w tym konkretnym przypadku jest to react
(patrz discussion)? lub material-ui
? Lub coś innego, co było całkowicie pominięte w tym pytaniu? Powyższy zrzut ekranu wskazał, że detektor zdarzeń wheel
został dodany przez ReactEventListener
z react-dom
, jednak przez obniżenie wersji material-ui
do 0.16.4
, ostrzeżenie zniknie, ponieważ nie ma odbiornika zdarzeń wheel
.
Więc jestem w zasadzie na tym skrzyżowaniu przeglądarce react
i 3. zależności partyjnych i próbując zrozumieć zmienne, które przyczyniają się do tego problemu i czy jest coś my, jako konsument tych bibliotek, można zrobić, aby obejść ten przypadek?
Wszelkie sugestie lub komentarze będą bardzo cenne! Dzięki.
używanie v0.16.7 i wciąż otrzymywanie ostrzeżenia –