仅手动中继现代运行 RefetchContainer
Posted
技术标签:
【中文标题】仅手动中继现代运行 RefetchContainer【英文标题】:relay modern run RefetchContainer only manually 【发布时间】:2018-05-10 20:19:14 【问题描述】:我仍然没有太多使用现代继电器的经验,并且正在尝试实施搜索。
为此,我使用“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
【讨论】:
以上是关于仅手动中继现代运行 RefetchContainer的主要内容,如果未能解决你的问题,请参考以下文章