0

假设您有这个用例:

一个带有一个输入和一个提交按钮的简单表单。

当输入值有效(>3 个字符)时,您想查询服务器以查看该值是否已在使用中。

当 A. 输入值 <4 字符 B. 输入值已在使用时(来自服务器的响应),应禁用该按钮

我试着用 usePreloadedQuery 来做

问题是应该始终可见的按钮将在查询被触发之前调用 usePreloadedQuery ,因此会因为 queryRef 为空而抛出。

我试着用 useLazyLoadQuery 来做

我尝试使用 useLazyLoadQuery 并设置{ fetchPolicy: value.length < 4 ? "store-only" : "network-or-store" },但它迫使我有一个更高的 Suspense 回退,这将使我的组件在每次按键超过 3 个字符时消失。

使用 Relay 实现这一目标的最佳方法是什么?

4

0 回答 0