Skip to content

lbenie/vue-contentful-hook

Repository files navigation

Vue Contentful Hook

A hook to call the contentful API using GraphQl

Usage

Ideally you should pass env variables as token and spaceId

export interface Dummy<T, U> {
  readonly dummyCollection: {
    readonly total: number;
    readonly skip: number;
    readonly limit: number;
    readonly items: readonly T[];
  };

  readonly someOtherDummyCollection: {
    readonly total: number;
    readonly skip: number;
    readonly limit: number;
    readonly items: readonly U[];
  };
}

const query = `
  {
    dummyCollection {
      items {
        name
      }
    }
    someOtherDummyCollection {
      items {
        name
      }
    }
  }
`;
const { data } = useContentful<Dummy<string, number>>(query, {
  token: "myToken",
  spaceId: "mySpaceId",
});

// an array of strings
console.log("data", data.value?.dummyCollection.items);
// an array of numbers
console.log("data", data.value?.dummyCollection.items);

Lucien Bénié

💻 📖

This project follows the all-contributors specification. Contributions of any kind welcome!