让我们使用 TODO 示例。在TodoList它(第 81 行)有一个片段组成为
todos(status: $status, first: $limit) {
edges {
node {
id,
${Todo.getFragment('todo')},
},
},
....
}
现在如果我添加一个循环
this.props.viewer.todos.edges.map(edge =>
console.log(edge.node.text)
);
在第 30 行执行renderTodos()函数,它将输出undefined
有趣的是,如果我们向片段中添加文本,如下所示
todos(status: $status, first: $limit) {
edges {
node {
id,
text,
${Todo.getFragment('todo')},
},
},
....
}
它实际上“声明”了两次文本(也在 Todo 组件中声明)并且循环完美运行。
我的问题是,为什么即使 Graphql 服务器返回了“属性”,也无法从组合中取回它们?