SPA w React ma jeden plik HTML i tam musi zaczynać się zgoda. Runtime trafia do index.html jako pierwszy skrypt w head, przed bundle’em Vite lub Webpacka. Instaluje swój interceptor synchronicznie, jeszcze przed pobraniem Twojej konfiguracji, więc wszystko, co bundle spróbuje później wstrzyknąć, zostaje przechwycone.
W drzewie masz dwa narzędzia. ConsentGate renderuje dzieci tylko wtedy, gdy kategoria jest przyznana, a w przeciwnym razie pokazuje Twój fallback, co jest właściwym sposobem montowania widżetu czatu, osadzonego wideo lub providera analityki. API runtime na window, opakowane przez @cookiecrumbs/react w hook, mówi każdemu komponentowi o aktualnym stanie, reżimie, języku i identyfikatorze zgody i daje mu open(), by ponownie otworzyć baner z linku w stopce.
Popularne wzorce React, na których ludzie się potykają: provider analityki na szczycie drzewa odpalający przy montowaniu, router wysyłający odsłony przy każdej nawigacji i useEffect wstrzykujący piksel. Każdy z nich albo trafia do gate’a, albo sprawdza isGranted("analytics"), zanim cokolwiek zrobi. Skan wdrożonej strony pokazuje, które z nich nadal odpalają przed zgodą, wraz ze skryptem, który to zrobił.