Ich versuche, Google Analytics mit der react-ga
Bibliothek zu implementieren, die ausgelöst werden muss, wenn sich die Route ändert. Ich habe folgendes Setup in App.js:React Router NavLink nicht auslösen history.listen() Funktion
import createBrowserHistory from 'history/createBrowserHistory';
...
const history = createBrowserHistory();
history.listen((location) => {
console.log('ANALYTICS CODE GOES HERE', location);
});
class App extends Component {
render() {
return (
<Provider store={...}>
<Router history={history}>
....
</Router>
</Provider>
);
}
}
export default App;
Wenn ich auf eine NavLink
während meiner App klicken, wird die Routenänderungen und lädt die entsprechende Komponente, aber die history.listen()
Funktion nie ausgelöst. Wenn ich jedoch die Back/Forward-Funktionalität des Browsers verwende, wird sie ausgelöst.
<NavLink to="/account" activeClassName="active">ACCOUNT</NavLink>
Wie ich höre Änderungen Route durch eine NavLink
ausgelöst?
Edit: eine weitere Diskussion hier stattfindet: https://github.com/react-ga/react-ga/issues/122#issuecomment-316427527
Ich kann nicht sicher sein, aber das klingt wie die Geschichte wird nicht korrekt weitergegeben. Welche Version von ReactRouter verwenden Sie? Auch welchen 'Router' importierst du? –