可以通过设置mocks来模拟返回结果而不发送请求。以下是示例代码:
import { ApolloClient, InMemoryCache } from '@apollo/client';
import { MockLink } from '@apollo/client/testing';
const client = new ApolloClient({
link: new MockLink([], {}, /* setDelayMs: */ false),
cache: new InMemoryCache(),
});
在这个示例中,我们使用了MockLink
和设置setDelayMs
为false来防止延迟。此外,您可以提供模拟的查询或操作结果,例如:
import { ApolloClient, InMemoryCache } from '@apollo/client';
import { MockLink } from '@apollo/client/testing';
import { gql } from '@apollo/client';
const client = new ApolloClient({
link: new MockLink([
{
request: {
query: gql`
query SomeQuery {
someData
}
`,
},
result: {
data: {
someData: 'Hello World',
},
},
},
]),
cache: new InMemoryCache(),
});
client.query({
query: gql`
query SomeQuery {
someData
}
`,
}).then(result => console.log(result.data.someData));
在这个示例中,我们提供了一个包含查询请求和模拟结果的数组。然后通过调用query
方法来获取模拟的查询结果,并访问data
属性来获取模拟的数据。