Wpis z mikrobloga

#programowanie #programista15k #react
w jaki sposób najsensowniej można podzielić długi tekst na strony gdzie mamy dany kontener o jakiś wymiarach reprezentujący pojedynczą stronę? zrobiłem sobie funkcję, która wyraz po wyrazie za pomocą refa wypełnia kontener i jeśli jego wymiary przekroczą ten obszar strony to resetuje licznik i zaznaczam, że przechodzimy do kolejnej strony. Wszystko lajtowo ale jak dowaliłem trzy tomowy potop to złapało zadyszkę i widok renderował się aż 30 sek. :D

Może ten sposób z wywoływaniem innerHtml += <kolejny wyraz> a następnie pomiar obszaru jest błędny i np. lepiej to zrobić jakimś canvasem czy inną technologią ew są biblioteki, które potrafią zmierzyć taki tekst?
  • 5
@nilphilus ale ciężko tez określić zdanie bo przecież może to być punktor dialog lub cokolwiek. Jeśli będę robił tylko urywek to wtedy wyraz na 20 tys pozycji befzie pływał i nie będę wiedział która to strona. Po prostu chce zrobić tak jak robi czytnik kindle gdzie to skalowanie jest od kopa
@IlllI: ładuj na pałe pareset znaków na stronę (być moze w zależności od czcionki) i tylko na końcu dodawaj/usuwaj żeby dopełnić kilka wyrazów oraz poprzenoś je żeby nie ucinać w połowie