Я пытаюсь использовать QueryRenderer с сопровождающим фрагментом, который я намерен использовать для нумерации страниц, в сочетании с createPaginationContainer
компонентом более высокого порядка для ретранслятора.
Я использую фрагмент в запросе, который я передаю QueryRenderer. * Например 1004 *
<QueryRenderer
environment={environment}
query={
graphql`
query MyComponentQuery($count: Int!, $cursor: String) {
...MyComponent_students @arguments(count: $count, cursor: $cursor)
}
`
}
variables={{count: 10}}
render={(p) => {
console.log('render of QueryRenderer');
console.log(p);
return (<MyComponent {...p.props} error={p.error} />);
}}/>
Этот запрос успешно выполнен - на вкладке сети видно, что ожидаемый JSON возвращается с сервера в результате выполнения этого запроса GraphQL.
Однако я совершенно не могу увидеть результат запроса в контексте query
реквизит QueryRenderer (обратите внимание на запись во фрагменте выше). Вот вывод console.log(p)
.
{…}
error: null
props: {…}
__fragments: {…}
MyComponent_students: {…}
count: 10
cursor: null
<prototype>: Object { … }
<prototype>: Object { … }
__id: "client:root"
<prototype>: Object { … }
retry: function retry()
<prototype>: Object { … }
Это затем не позволяет мне передать результат запроса в paginationContainer (в данном случае это MyComponent
).
Почему это происходит и как это можно исправить?
Для справки, фрагмент MyComponent_students
определяется как:
fragment MyComponent_students on Query
@argumentDefinitions(
count: {type: "Int", defaultValue: 10}
cursor: {type: "String"}
) {
students(
first: $count
after: $cursor
) @connection(key: "MyComponent_students") {
edges {
node {
id
createdAt
}
}
}
}