在GraphQL中,通常使用Mutation组件来触发变异操作。但是,如果不想使用Mutation组件,也可以通过纯粹的JavaScript代码来触发GraphQL变异。
以下是一个示例,展示了如何使用纯粹的JavaScript代码来触发GraphQL变异:
import { graphql } from 'graphql';
import { schema } from './your-graphql-schema'; // 导入你的GraphQL模式
import { createApolloFetch } from 'apollo-fetch';
// 创建一个Apollo Fetch实例
const apolloFetch = createApolloFetch({ uri: 'http://localhost:4000/graphql' });
// 定义GraphQL变异查询
const mutationQuery = `
  mutation CreatePost($input: PostInput!) {
    createPost(input: $input) {
      id
      title
      content
    }
  }
`;
// 定义变异变量
const variables = {
  input: {
    title: 'New Post',
    content: 'This is a new post content.'
  }
};
// 使用apolloFetch来触发GraphQL变异
apolloFetch({ query: mutationQuery, variables })
  .then(result => {
    // 处理返回的结果
    console.log(result.data.createPost);
  })
  .catch(error => {
    // 处理变异错误
    console.log(error);
  });
// 或者使用graphql函数来触发GraphQL变异
graphql(schema, mutationQuery, null, null, variables)
  .then(result => {
    // 处理返回的结果
    console.log(result.data.createPost);
  })
  .catch(error => {
    // 处理变异错误
    console.log(error);
  });
在上面的示例中,我们首先创建了一个Apollo Fetch实例,然后定义了GraphQL变异查询和变异变量。然后,我们使用apolloFetch或graphql函数来触发GraphQL变异操作。最后,我们处理返回的结果或错误。
请注意,这只是一个基本的示例,实际中可能需要根据你的具体情况进行适当的调整。