Locator & Pages in einer Single-Page-Application (SPA) implementieren
Einführung
Der Store-Locator funktioniert automatisch auf Server-seitig gerenderten Seiten. Für Seiten, die nur einmal beim Start gerendert werden und sich beim Klick auf eine andere Seite nicht neu laden, sind einige manuelle Konfigurationen notwendig, damit der Store-Locator funktioniert. Das ist oft bei Websites der Fall, die populäre Frameworks wie React, Vue.js oder Angular verwenden.
Schritte zum Vorgehen
Schritt 1
Füge das initiale Store-Locator-Skript zu deinem HTML hinzu:
Schritt 2
Füge das Container-Div zu deiner Komponente innerhalb der SPA hinzu:
Der Store-Locator startet nicht automatisch bei einer SPA, da das initiale Skript das Div mit der ID „store-finder-widget" nicht finden kann, weil dieses erst bei der Ausführung von JavaScript gerendert wird.
Schritt 3
Wenn du den Store-Locator zum ersten Mal startest und das Store-Locator-Div in der aktuellen HTML-Struktur vorhanden ist, musst du
aufrufen. Dies triggert das initiale Skript und lädt das Bundle. Der Store-Locator sollte nun angezeigt werden und ordnungsgemäß funktionieren.
Schritt 4
Wenn du zu einer anderen Route innerhalb der SPA wechselst, musst du
beim Unmount der Store-Locator-Komponente aufrufen. Dies stellt sicher, dass alle Komponenten ordnungsgemäß entfernt werden und beim Zurückkehren zur Ansicht korrekt neu gestartet werden können.
Schritt 5
Wenn du zur Route zurückkehrst, wo die Store-Locator-Komponente angezeigt wird, musst du
aufrufen, um das bereits geladene Store-Locator-Bundle zu triggern.
Beispiel
Hier ist ein Beispiel-Repository mit einer React-Implementierung mit dieser Store-Locator-Komponente, die die meiste der in den obigen Schritten erwähnten Logik enthält.