'TypeError: Cannot read properties of undefined (reading 'document')
I was using qraphql (JavaScript graphql-request library) in a project and ran into a typeError. Here's the code:
import { request, gql } from 'graphql-request'
const graphqlAPI = process.env.NEXT_PUBLIC_GRAPHCMS_ENDPOINT
export const getPosts = async () => {
const query = gql`
query MyQuery {
postsConnection {
edges {
node {
author {
bio
name
id
photo {
url
}
}
createdAt
slug
title
excerpt
featuredImage {
url
}
categories {
name
slug
}
}
}
}
}
`
const result = await request(graphqlAPI, query)
return result.postsConnection.edges
}
The error said there was a problem with the document parameter of the request.
Solution 1:[1]
Never Mind, its because the Next_endpoint wasnt defined, all good now!
Solution 2:[2]
2 Errors:
- The method which you have used here to fetch the data is outdated.
- The endpoint here is missing you will find it in the graphcms in your account : settings/access/api access /endpoints
Remove the command
const graphqlAPI = process.env.NEXT_PUBLIC_GRAPHCMS_ENDPOINT
and the .env file associated with it. After that use the following code:
import { gql } from 'graphql-request';
import { GraphQLClient } from 'graphql-request';
export const getPosts = async () => {
// new endpoint
const graphQLClient = new GraphQLClient(
endpoint // here add your endpoint
);
const query = gql`
query MyQuery {
postsConnection {
edges {
node {
author {
bio
name
id
photo {
url
}
}
createdAt
slug
title
excerpt
featuredImage {
url
}
categories {
name
slug
}
}
}
}
}
`
const result = await graphQLClient.request(query)
return result.PostsConnection;
}
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|---|
| Solution 1 | Xetify |
| Solution 2 | Yash_3001 |
