【发布时间】:2018-10-23 05:38:57
【问题描述】:
Todo 永远不会被添加。可见性过滤器工作和远程 Coinbase 提取工作。
这是我的仓库???
https://github.com/deadcoder0904/apollo-coinbase
&这里是同一个代码沙箱????
https://codesandbox.io/s/github/apollographql/apollo-link-state/tree/master/examples/todo
该示例类似于代码框之一,只有远程 URI 用于从 coinbase API 获取某些硬币
我复制了同样的例子
只需 2 处更改
第一个变化是我添加了一个 HTTPLink 用于使用 Coinbase API 获取远程数据
第二个变化是我没有使用 Apollo-Boost 并明确导入其他所有内容
我不明白代码在字面上相似的区别(他们正在使用 apollo-boost 并且我使用不同的每个块并一起狼吞虎咽)
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 };
错误是-
[网络错误]:类型错误: Object(WEBPACK_IMPORTED_MODULE_0_graphql_tag["gql"]) 不是 功能。 (在 '对象(WEBPACK_IMPORTED_MODULE_0_graphql_tag["gql"])(_templateObject)', 'Object(WEBPACK_IMPORTED_MODULE_0_graphql_tag["gql"])' 是一个 App.js:46 上的 Object 实例)
【问题讨论】:
标签: javascript reactjs apollo react-apollo apollo-client