我正在重构一个使用redux的express + react应用,我想切换到graphql(apollo),但是我有一些不清楚的地方。
因此,一般流程是有GET请求来获取数据(对象数组),然后将数据存储在redux存储中,并使用分页并显示为列表的选择器。然后,用户可以编辑条目(在redux存储中修改条目),然后他可以“发布”以从redux存储获取数据并调用POST端点。
如何在graphql中建模?我是否使用graphql查询(在DB中使用offset / limit)进行分页? 然后,一旦完成编辑后,如何修改内存中的条目并立即发布所有条目?
答案 0 :(得分:1)
在阿波罗中,这非常简单:
useQuery
挂钩来获取数据(使用缓存客户端); onChange
/ onSave
事件上调用突变函数(从useMutation
钩返回),将一个或多个记录数据(要更新)作为变量传递; onCompleted
处理程序中)更新本地缓存(writeQuery
)或调用refetch查询(通过从{{调用fn / handler 1}}),两者都将强制使用更新后的数据重新渲染组件; 是的,可以使用查询变量进行分页,获取更多信息等。