私はGraphqlで正常に動作しますが、私はコンポーネントへのリレーを使用してデータを渡すことはできません、これはコンポーネントにデータを渡すための試みで私のコードである理由:(私のクエリはリレーで失敗していますが、私はその理由を知らないのですか?
{
todolist { // todolist returns array of objects of todo
id
text
done
}
}
私にはわからないこの単純なクエリを持っています使用してリレー:
class TodoList extends React.Component {
render() {
return <ul>
{this.props.todos.todolist.map((todo) => {
<Todo todo={todo} />
})}
</ul>;
}
}
export default Relay.createContainer(TodoList, {
fragments: {
todos:() => Relay.QL`
fragment on Query {
todolist {
id
text
done
}
}
`,
},
});
そして最後に、私のスキーマ
const Todo = new GraphQLObjectType({
name: 'Todo',
description: 'This contains list of todos which belong to its\' (Persons)users',
fields:() => {
return {
id: {
type: GraphQLInt,
resolve: (todo) => {
return todo.id;
}
},
text: {
type: GraphQLString,
resolve: (todo) => {
return todo.text;
}
},
done: {
type: GraphQLBoolean,
resolve: (todo) => {
return todo.done;
}
},
}
}
});
const Query = new GraphQLObjectType({
name: 'Query',
description: 'This is the root query',
fields:() => {
return {
todolist: {
type: new GraphQLList(Todo),
resolve: (root, args) => {
return Conn.models.todo.findAll({ where: args})
}
}
}
}
});
このコードは単純に見え、これは動作しませんなぜ私が見ることができないと私はTHIを持っていますエラーUncaught TypeError: Cannot read property 'todolist' of undefined
、私はtodolistを構成し、私は自分のgraphqlでクエリを実行することができます、あなたはクエリの構造が同じであることがわかります、なぜこれが動作しているのかわかりません?
私はあなたのコードの大半を理解していません、私にいくつかのリソースを読むことをお勧めできますか?公式チュートリアルはとても難しいです:/ –