This repository was archived by the owner on Jan 30, 2023. It is now read-only.
Add enableTracking function and allow lazy loading#736
Open
opsidao wants to merge 2 commits intojonkoops:mainfrom
Open
Add enableTracking function and allow lazy loading#736opsidao wants to merge 2 commits intojonkoops:mainfrom
opsidao wants to merge 2 commits intojonkoops:mainfrom
Conversation
Author
|
No opinions here? |
Author
Owner
|
Sorry for the lack of replies, I am currently swamped with a lot of other work so I do not have time to review these changes. |
Contributor
timvanoostrom
left a comment
There was a problem hiding this comment.
Can't you just dely the instantiation of the tracker?
let matomoTracker = null;
function track(payload: any) {
matomoTracker?.trackPageView(payload);
}
function Component() {
const isEnabled = useState(false);
useEffect(() => {
if (isEnabled) {
matomoTracker = new MatomoTracker({ ... });
}
}, [isEnabled]);
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

As a solution to #478 here a propose adding a
enableTrackingfunction toMatomoTrackerwhich does the loading of the matomo.js file and the emission of the correct events. This function is just an extraction of the last part of the initializer on theMatomoTrackerthat is exposed through theuseMatomohook, allowing users to delay loading the actual matomo library by:disabledwhen creating the Matomo instance, which skips loading the scriptsenableTrackingfunction from the object returned byuseMatomoand call it when they know that users have given consent for tracking.A simplified usage example is included in the README file.
Before opening a pull request, please ensure:
Be kind to code reviewers, please try to keep pull requests as small and focused as possible :)