javascript - 为什么我无法使用 Apollo Link State 添加待办事项?

标签 javascript reactjs apollo react-apollo apollo-client

Todo 永远不会被添加。可见性过滤器有效且远程 Coinbase 获取有效。

这是我的仓库👇

https://github.com/deadcoder0904/apollo-coinbase

&这是相同的代码沙箱👇

https://codesandbox.io/s/github/apollographql/apollo-link-state/tree/master/examples/todo

该示例类似于codesandbox,仅具有远程URI,用于从coinbase API 获取某些代币

我复制了相同的示例

仅进行 2 处更改

第一个变化是我添加了一个 HTTPLink,用于使用 Coinbase API 获取远程数据

第二个变化是我没有使用 Apollo-Boost 并显式导入了其他所有内容

我不明白其中的区别,因为代码实际上是相似的(好吧,他们正在使用 apollo-boost 并且我以不同的方式使用了每个 block 并一起吞噬)

addTodo 突变在 TodoForm.js 中不起作用:)

TodoForm.js

import React from "react";
import gql from "graphql-tag";
import { Mutation } from "react-apollo";

const ADD_TODO = gql`
  mutation addTodo($text: String!) {
    addTodo(text: $text) @client {
      id
    }
  }
`;

const TodoForm = () => (
  <Mutation mutation={ADD_TODO}>
    {addTodo => {
      let input;
      return (
        <form
          onSubmit={e => {
            e.preventDefault();
            if (!input.value.trim()) return;
            addTodo({ variables: { text: input.value } });
            input.value = "";
          }}
        >
          <input
            type="text"
            ref={node => {
              input = node;
            }}
          />
          <button type="submit">Add Todo</button>
        </form>
      );
    }}
  </Mutation>
);

export { TodoForm };

错误是 -

[Network error]: TypeError: Object(WEBPACK_IMPORTED_MODULE_0_graphql_tag["gql"]) is not a function. (In 'Object(WEBPACK_IMPORTED_MODULE_0_graphql_tag["gql"])(_templateObject)', 'Object(WEBPACK_IMPORTED_MODULE_0_graphql_tag["gql"])' is an instance of Object) on App.js:46

最佳答案

它认为 gql 不是函数(可能未定义)。应该很容易打印出来并查看。如果你有一个错误的 graphql-tag 版本,我不会感到惊讶。在package.json中设置为固定版本

关于javascript - 为什么我无法使用 Apollo Link State 添加待办事项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50315437/

相关文章:

javascript - 计算整数值的日期差异

node.js - React-chartjs 返回类型错误 : (intermediate value)[chartType] is not a function

reactjs - 如何在 React.js 中将图像上传到 Firebase 存储并同时将 URL 上传到 Firestore?

javascript - 访问 Apollo Store 就像我以前使用 Redux Store 一样

javascript - Apollo Server、Graphql - 必须提供查询字符串

javascript - 为什么WKWebView无法运行processingjs脚本?

javascript - 使用 HTML 输入 'name' 属性生成对象

android - 有没有人找到在 Android 上的 React Native 中嵌套 View 的解决方法?

java - 生成的 GraphQL 类实现查询接口(interface)而不是订阅接口(interface)

javascript - 使用 javascript 写入主机上的文本文件