Diese Funktion wird jedes Mal aufgerufen, wenn die Route geändert wird
%Vor% Ich möchte einen Analytics-Handler auf meiner Einseiten-App installieren und möchte jede Routenänderung unter der Hauptroute erfassen. Ich erkenne, dass ReactRouter ein onEnter
route-Ereignis anbietet; Dies würde jedoch erfordern, dass ich den Handler für jede Route separat installiere. Ich könnte eine Unterklasse von Route erstellen, die automatisch onEnter
enthält, aber dann wäre ich nicht in der Lage, onEnter
zu überschreiben und den Analytics-Tracking-Handler beizubehalten.
Was wäre der beste Weg, um Änderungen innerhalb einer gegebenen Root-Route zu hören?
Sie können den react-router willTransitionTo statische Funktion, um eine Routenänderung zu erkennen und die transition.path
in Ihrem ga()
Funktionsaufruf zu emittieren, wie folgt:
Ein vollständigeres Beispiel ist in dieser Antwort zu finden.
Die Antwort war (im übertragenen Sinne) starrte mich ins Gesicht.
Wenn Sie den Router starten, rufen Sie Router.run(routes, callback)
auf. Der Rückruf wird bei jeder Routenänderung aufgerufen. Daher funktioniert der folgende Code so, wie ich es wollte:
Die Antwort war (im übertragenen Sinne) starrte mich ins Gesicht.
Wenn Sie den Router starten, rufen Sie %code% auf. Der Rückruf wird bei jeder Routenänderung aufgerufen. Daher funktioniert der folgende Code so, wie ich es wollte:
%Vor%Reagieren: v15.x, React Router: v4.x
Komponenten / Kern / App.js:
%Vor%index.js:
%Vor%Sie können den react-router willTransitionTo statische Funktion, um eine Routenänderung zu erkennen und die %code% in Ihrem %code% Funktionsaufruf zu emittieren, wie folgt:
%Vor%Ein vollständigeres Beispiel ist in dieser Antwort zu finden.
Diese Funktion wird jedes Mal aufgerufen, wenn die Route geändert wird
%Vor%Ich möchte einen Analytics-Handler auf meiner Einseiten-App installieren und möchte jede Routenänderung unter der Hauptroute erfassen. Ich erkenne, dass ReactRouter ein %code% route-Ereignis anbietet; Dies würde jedoch erfordern, dass ich den Handler für jede Route separat installiere. Ich könnte eine Unterklasse von Route erstellen, die automatisch %code% enthält, aber dann wäre ich nicht in der Lage, %code% zu überschreiben und den Analytics-Tracking-Handler beizubehalten.
Was wäre der beste Weg, um Änderungen innerhalb einer gegebenen Root-Route zu hören?
Tags und Links reactjs react-router