リレー中Modern refetchContainerはrefetchOptions: { force: true }
とrefetchOptions: { force: false }
と同じ結果を返します。refetchContainerは、リレーのrefetchOptionsで同じ結果を返すか、または同じ結果を返しません。Modern
私は次のように再フェッチコンテナ持っている:私は、次のコードを持っている
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メソッドにinputタグのために:私は新しい文字を入力すると
onInputChange = (e) => {
const value = e.target.value;
this.props.relay.refetch({ searchString: value });
}
リレーは、ネットワークのクエリを行い、また、私は文字を削除します。理想的には、文字が削除されるときには、以前に照会されたのと同じデータを使用する必要があります。