SuperSako22
SuperSako22

Reputation: 5

How to store function getPageTypeFromDataLayer as a variable and reference the variable?

My function (getPageTypeFromDataLayer) is being called multiple times and I think it would be best to store it as a variable and then reference the variable but not sure how to set it up. Can anyone help?

Code:

export const getPageTypeFromDataLayer = function () {
    const pageTypeObj = window?.dataLayer?.filter((data) => data.pageType)[0];
    if (pageTypeObj) {
        return pageTypeObj.pageType;
    }
    return "unknown";
};

In another section of the code, I reference the function in multiple pages where the data from dataLayer is being pulled. I would like to reference it as a variable instead since it's being called multiple times. Can someone help me to do this?

Upvotes: 0

Views: 22

Answers (1)

LordRobin
LordRobin

Reputation: 76

I think you should just be able to do:

  export const getPageTypeFromDataLayer = function () {
    const pageTypeObj = window?.dataLayer?.filter((data) => data.pageType)[0];
    if (pageTypeObj) {
      return pageTypeObj.pageType;
    }
    return "unknown";
  }

The returned value can be stored like this: const value = getPageFromDataLayer().

You can call the function in the same file with getPageTypeFromDataLayer() and also call it in other files by importing it with import { getPageTypeFromDataLayer } from './your-file.js'.

Make sure to add "type": "module" to your package.json.

Upvotes: 1

Related Questions