在 Svelte 中获得 "TypeError ctx[0].data is undefined"
Getting "TypeError ctx[0].data is undefined" in Svelte
我正在尝试使用 Apollo Server 开始使用 GraphQL 和 Svelte,但我得到的只是这个错误“ctx[random number].data is undefined”。我也试过 svelte {#async} 但得到了同样的错误。我做错了什么以及如何让它起作用?
<script>
import { InMemoryCache } from "@apollo/client/core";
import { SvelteApolloClient } from "svelte-apollo-client";
import { gql } from "@apollo/client/core";
const client = new SvelteApolloClient({
uri:
"https://graphql.contentful.com/content/v1/spaces/4x1ftgol5cf4/explore?access_token=VhWS6Pydw4xIoh0-bo2b7ANxmHxj_698UMVpy8JfmkY",
cache: new InMemoryCache()
});
let data = client.query(gql`
query {
mellunarModaCollection {
items {
sys {
id
}
title
price
img {
url
}
off
}
}
}
`);
</script>
<style>
</style>
<ul>
{#each $data.data.mellunarModaCollection.items as item}
<li>
<h2>{item.title}</h2>
<h4>{item.price}</h4>
<img src={item.img.url} alt={item.title} />
</li>
{/each}
</ul>
遵循 Svelte Apollo Client 上的示例 page
{#if $data.loading }
Loading...
{:else if $data.error}
Error {$data.error.message}
{:else}
<ul>
{#each $data.data.mellunarModaCollection.items as item}
<li>
<h2>{item.title}</h2>
<h4>{item.price}</h4>
<img src={item.img.url} alt={item.title} />
</li>
{/each}
</ul>
{/if}
或者至少将您的 html 代码包装在 {#if $data.data} ... {/if}
之间
这里的ctx[random number]
对应的是$data
,错误是$data.data
没有定义。它是未定义的,因为查询还没有时间 运行.
我正在尝试使用 Apollo Server 开始使用 GraphQL 和 Svelte,但我得到的只是这个错误“ctx[random number].data is undefined”。我也试过 svelte {#async} 但得到了同样的错误。我做错了什么以及如何让它起作用?
<script>
import { InMemoryCache } from "@apollo/client/core";
import { SvelteApolloClient } from "svelte-apollo-client";
import { gql } from "@apollo/client/core";
const client = new SvelteApolloClient({
uri:
"https://graphql.contentful.com/content/v1/spaces/4x1ftgol5cf4/explore?access_token=VhWS6Pydw4xIoh0-bo2b7ANxmHxj_698UMVpy8JfmkY",
cache: new InMemoryCache()
});
let data = client.query(gql`
query {
mellunarModaCollection {
items {
sys {
id
}
title
price
img {
url
}
off
}
}
}
`);
</script>
<style>
</style>
<ul>
{#each $data.data.mellunarModaCollection.items as item}
<li>
<h2>{item.title}</h2>
<h4>{item.price}</h4>
<img src={item.img.url} alt={item.title} />
</li>
{/each}
</ul>
遵循 Svelte Apollo Client 上的示例 page
{#if $data.loading }
Loading...
{:else if $data.error}
Error {$data.error.message}
{:else}
<ul>
{#each $data.data.mellunarModaCollection.items as item}
<li>
<h2>{item.title}</h2>
<h4>{item.price}</h4>
<img src={item.img.url} alt={item.title} />
</li>
{/each}
</ul>
{/if}
或者至少将您的 html 代码包装在 {#if $data.data} ... {/if}
这里的ctx[random number]
对应的是$data
,错误是$data.data
没有定义。它是未定义的,因为查询还没有时间 运行.