2016-12-14 39 views
6

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: enter image description here

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: enter image description here ż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.

Odpowiedz

2

Potwierdzam jedynie, że jest to spowodowane materiałem, ponieważ nie używam "punktu kontrolnego", a także doświadczam go w MaterialUI v0.16.5 i React 15.4.x.

Aktualizacja: Rzeczy wydają się działać dobrze dla mnie po aktualizacji do MaterialUI v0.16.6.

+1

używanie v0.16.7 i wciąż otrzymywanie ostrzeżenia –