2015-12-17 17 views
5

Widziałem kilka rzeczy w Internecie na temat renderowania Reagowanie komponentów za pomocą HTML5 WebWorkers .. nawet Pete Hunt był szefem, za tym, co mówił React.Renderowanie Reagowanie komponentów za pomocą WebWorkers

Mam kilka prac intensywnie CPU nad każdym elementem tablicy, a następnie React render każdego elementu tablicy, więc myślę o umieszczeniu każdego z nich w WebWorker, a następnie księgowania ciągu HTML z powrotem do głównego Wątek interfejsu użytkownika.

Moje pytanie brzmi - to wygląda React.renderToString jest zastąpiona ReactDOMServer.renderToString ... więc pytam was wszystkich i Pete Hunt - niby mamy używać ReactDOMServer na front-end, jeśli chcemy używać WebWorkers renderowanie Reagować na komponenty lub czy istnieje inne zalecane podejście?

(Oczywiście, możemy przekazywać ciągi/serializowane dane między wątkami w JS, dlatego chcemy renderować komponent React na ciąg znaków, a następnie przekazać go z powrotem do głównego wątku UI jako ciąg.)

+0

Tylko szybka myśl, czy naprawdę potrzebujesz, aby uczynić składników w WebWorker? Czy samo przekazanie danych z tablicy byłoby wystarczające, jeśli nie bardziej wydajne? – enjoylife

+0

cóż, przed renderowaniem jest jeszcze wiele innych prac, ale tak, renderowanie może pójść albo w sieci, albo nie, ale ponieważ używam już WW, pomyślałem, że równie dobrze mogłabym zrobić tam render, podczas gdy Jestem przy tym. ze względu na to pytanie, załóżmy, że jest to konieczne/lub naprawdę pożądane :) –

+0

Cóż powiedziałbym, jeśli działa w przeglądarce bez modyfikacji, to dlaczego nie. Nie można go popierać tylko dlatego, że jest to tak niszowy przypadek użycia. Ale, hej, jeśli to działa, a wydajność jest zadowalająca, powiedziałbym, że biegnij z tym. – enjoylife

Odpowiedz

3

Napisałem szybką implementację React, renderowania w przeglądarce internetowej. To naprawdę nie jest renderToString, ale bardziej jak niestandardowy renderer. Odkryłem także, że jest to znacznie szybsze niż normalna implementacja.

Strona demonstracyjna zawiera 2 aplikacje - przykład przedstawiający aplikacje intensywnie obciążające procesor oraz prostą listę zdarzeń TODO ze zdarzeniami.

Oto numery wydajności zbyt - http://blog.nparashuram.com/2016/02/using-webworkers-to-make-react-faster.html

Powiązane problemy