Dynamická inicializace skriptu pro React aplikaci #218
Replies: 2 comments 3 replies
-
Ahoj @lucienevludova-direct RUM se běžně používá na app napsané v reactu, next, vue dokonce i angluar včetně spa :) Co je přesně myšleno tím: spustit skript co nejdřív, takže před tím než se stránka v Reactu kompletně vyrenderuje - pak zafunguje "load" event, ale nemůžeme sbírat crum-action, protože ty prvky v DOM ještě neexistují a tak se to na ně nepověsí. O tom to přesně ale je. Co nejdříve spustit RUM a pak se donačítá zbytek stránky, včetně initu stránky/frameworku a proto v RUM běží iterace po nastavených vteřinách, aby se sebrala nová data / objekty, která budou k dispozici až je stránka vyrenderuje / spustí. Asi spíše neorzumím tomu bodu, který jsi uvedla, tak prosím o upřesnění / vysvětlení. Díky |
Beta Was this translation helpful? Give feedback.
-
Dobrý den, @rdpanek, volali jsme spolu na konci července. Problém máme vlastně jen s tím crum-action atributem. Vidíme, že nám RUM běží co 3 vteřiny, ale ačkoliv elementy s tímto atributem v DOM máme, tak se nám to pak ve výsledcích nijak neprojevuje: pole v objektu view.actions v konzoli při ?debug=dry je vždy prázdné a nepropisuje se to ani nikam dál, třeba do Kibany (ačkoliv přesně nevím, jak nám tato integrace má fungovat). Platí tedy, že pokud se v DOM vyskytne nový prvek s crum-action atributem (řekněme že se tam objeví po stisku nějakého tlačítka), RUMko si ho načte v rámci 3s intervalu? Když si debugguji zdrojáky RUMka, tak se mi elementy atributem crum-action procházejí jen při load eventě, kdy se inicializuje skript a pak už ne. Z toho důvodu se bez problémů spustí RUMko, každé 3s se odesílají data - to je OK. Elementy s crum-action tou dobou ale ještě nejsou vygenerované na stránce, to se stane až o chvíli později a to si myslím, že způsobuje tyto potíže. Děkuji za radu, jak to správně nastavit. |
Beta Was this translation helpful? Give feedback.
-
Ahoj, potřebovali bychom mít možnost programově inicializovat skript, aby se mohl spustit kdykoliv během životního cyklu aplikace.
V kódu vidíme, že se vše potřebné pro inicializaci skriptu spouští při "load" události
Potřebovali bychom, aby to šlo spustit také programově (případně další metody, které poslouchají na "load"). Jinými slovy, abychom mohli kdykoliv zavolat něco jako CRUM.init(). Jinak to na Reactu a nejspíš ani v jiné SPA nebude fungovat, protože dnes máme jen dvě možnosti:
Děkujeme a přejeme pěkný den :)
Beta Was this translation helpful? Give feedback.
All reactions