2

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')},
    },
  },
  ....
}

実際にはテキストを2回「宣言」し(Todoコンポーネントでも宣言します)、ループは完全に機能します。

私の質問は、Graphql Server によって返されたにもかかわらず、コンポジションから「プロパティ」を取得できないのはなぜですか?

4

1 に答える 1

1

#relay チャンネルの hueyp#7485 に感謝します。

彼は、これは設計上意図された動作であると指摘しました。

https://facebook.github.io/relay/docs/thinking-in-relay.html#data-masking

于 2016-02-22T23:41:25.370 に答える