Реле современного запуска RefetchContainer только вручную
У меня до сих пор нет большого опыта работы с реле модерн, и я пытаюсь осуществить поиск.
Для этого я использую "RefetchContainer":
export default createRefetchContainer(
SearchComponent,
{
base: graphql`
fragment SearchComponent_base on Base
@argumentDefinitions(
input: {type: "FireSearchInput!" defaultValue: {page: 0,queryString:""}}
)
{
search(input: $input){
total
...SearchResult_searchResult
}
}
`
},
graphql`
query SearchComponentRefetchQuery($input: FireSearchInput!) {
...SearchComponent_base @arguments(input: $input)
}
`
)
Проблема только в том, что запрос уже выполняется при запуске приложения, без ввода.
Можно ли подавить автоматический запрос и выполнить его только командой this.props.relay.refetch
?
1 ответ
Решение
Решение состоит в том, чтобы просто использовать QueryRenderer
:
<QueryRenderer
environment={environment}
query={graphql`
query SearchComponent($input: FireSearchInput!) {
search(input: $input){
total
...SearchResult_searchResult
}
}
`}
variables={{
input: {///my input}
}}