React Apollo GraphQL通用查询和突变



这个问题更多的是关于设计。在我的重型应用程序中,并希望实现通用突变查询[/em>操作。我的第一个想法是实现一个函数,将所有查询或突变封装在一个地方。像这样:

function query(props) {
const Query = require('dynamic/query/based/on/props.path.gql');
const { data, loading, ...} = useQuery(Query, ...);
return { data, loading, ... };
}

然后使用

import Query form './query';
function SomeMainFunction(props) {
cont { data, loading, ...} = Query(props);
return data.map(...);
}

(突变类似(在我看来,即使使用React.memo,这也会导致不必要的重新绘制。第二种方法是利用CCD_ 2。但在这种情况下,我真的不知道如何处理网络状态。意味着具有loadingtruefalse。还是useQuery会在数据到达后通过重新渲染组件来处理此问题?

当然,第三种解决方案是直接在功能/组件中实现此逻辑。因为代码分割,我不想要一些东西。

我最终使用了上述设计,并正确使用了memo,它解决了我的问题。

相关内容

  • 没有找到相关文章

最新更新