reactjs - 在 React 组件中的多个 GraphQL 查询之间进行更改
问题描述
我正在使用 React 和 GraphQL 制作一个反应应用程序,我希望默认随机化鸡尾酒,但可以选择在单击按钮后通过搜索查找特定鸡尾酒。因此我需要两个不同的查询。
export default function Cocktails() {
const [
dataType,
setDataType
] = useState('randomCocktail');
const [
queryType,
setQueryType
] = useState(RANDOM_COCKTAIL_QUERY);
const { loading, error, data, refetch } = useQuery(queryType);
if (loading) return 'Loading...';
if (error) return `Error! ${error}`;
return (...)
如果我尝试在默认的 useQuery 下添加第二个(惰性)查询,程序会崩溃,因为已经分配了加载和数据。(“解析错误:标识符‘正在加载’已被声明”)
const { loading, error, data, refetch } = useQuery(queryType);
const { loading, data } = useLazyQuery(ONE_COCKTAIL_BY_NAME_QUERY);
我想知道如何最好地在从不同查询加载数据之间切换。任何帮助将不胜感激!
解决方案
const { loading, error, data: dataBooks } = useQuery(getBooksQuery);
您可以将数据重命名为数据:dataBooks
推荐阅读
- android - 正在进行通话。你只能调整通话音量我的应用通知接收mi设备,如mi 9t,redmi 4如何禁用它
- c - 从C中的文本文件中读取完整单词的行
- c# - DevExpress BlazorServer DataGrid LayoutChanged 事件在刷新后不会触发
- android-studio - 无法确定 Android SDK
- flutter - 如何在 Flutter 中显示指数字符串?
- docker - Docker Not pulling images from the Docker Hub on Mac OS
- python - 在使用 Sphinx 构建文档结束时记录日志
- multilabel-classification - 如何在 mlr 中使用调整参数进行多标签分类?
- sql-server - Power Apps Dataflow 从 Azure SQL 到 Dataverse 的持续时间真的很慢而且错误消息很糟糕吗?
- c# - 为什么我更新数据库后我的数据网格没有更新?