在 Relay Modern refetchContainer 与refetchOptions: { force: true }
和给出相同的结果refetchOptions: { force: false }
。
我有一个重新获取容器,如下所示:
export default createRefetchContainer(radium(UserPicker), graphql`
fragment UserPicker_company on Company
@argumentDefinitions(
searchString: { type: "String", defaultValue: "" }
) {
userSearch(text: $searchString, first: 10) {
edges {
node {
id
name
email
picture
}
}
}
}
`, graphql `
query UserPickerRefetchQuery($companyId: ID, $searchString: String) {
company(id: $companyId) {
...UserPicker_company @arguments(searchString: $searchString)
}
}
`);
在输入标签的 onChange 方法中,我有以下代码:
onInputChange = (e) => {
const value = e.target.value;
this.props.relay.refetch({ searchString: value });
}
当我输入新字符以及删除字符时,中继会进行网络查询。理想情况下,当字符被删除时,它应该使用之前查询的相同数据。