仅手动中继现代 运行 RefetchContainer
relay modern run RefetchContainer only manually
我对现代中继还没有太多经验,正在尝试实施搜索。
为此我使用 "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
执行?
解决方案是简单地使用 QueryRenderer
:
<QueryRenderer
environment={environment}
query={graphql`
query SearchComponent($input: FireSearchInput!) {
search(input: $input){
total
...SearchResult_searchResult
}
}
`}
variables={{
input: {///my input}
}}
我对现代中继还没有太多经验,正在尝试实施搜索。
为此我使用 "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
执行?
解决方案是简单地使用 QueryRenderer
:
<QueryRenderer
environment={environment}
query={graphql`
query SearchComponent($input: FireSearchInput!) {
search(input: $input){
total
...SearchResult_searchResult
}
}
`}
variables={{
input: {///my input}
}}