使用继电器我遇到了访问数据的问题。我试图用Relay项目的官方Todo示例重现这些问题。请考虑要点以改变Todo的例子。 here
以下是问题:
summary
不是有效的片段名称?提前致谢!
答案 0 :(得分:0)
无论Summary
想要在查看器中使用什么数据,都必须在Summary
容器中声明为GraphQL,并一直编写到应用程序的根目录。
class Summary extends React.Component {
render() {
return <span>{this.props.viewer.bar}</span>;
}
}
export default Relay.createContainer(Summary, {
fragments: {
viewer: () => Relay.QL`
fragment on Viewer {
bar
}
`,
},
});
class TodoApp extends React.Component {
render() {
return <Summary viewer={this.props.viewer} />;
}
}
export default Relay.createContainer(TodoApp, {
fragments: {
viewer: () => Relay.QL`
fragment on Viewer {
foo
${Summary.getFragment('viewer')}
}
`,
},
});
请注意foo
字段
您可以在Summary
中拥有多个查询,但每个查询只能有一个根字段。我们需要这种一对一的对应关系,以便我们知道将哪个结果分配给哪个道具。
Relay.Route
您需要将摘要片段一直编写到应用程序的根目录,使其在class MyRoute extends Relay.Route {
queries: {
summary: () => Relay.QL`query { summary }`,
viewer: () => Relay.QL`query { viewer }`,
},
/* ... */
}
上可用。
TodoApp