Reactjs 如何将Redux应用程序转换为GraphQL/Apollo?
我正在重构一个使用redux的express+react应用程序,我想切换到graphql(apollo),但我有一些事情还不太清楚 因此,一般的流程是GET请求获取数据(一个对象数组),然后将数据存储在redux存储中,并使用分页的选择器将其显示为列表。然后,用户可以编辑条目(条目在redux存储中修改),然后他可以“发布”从redux存储中获取数据并调用POST端点 我将如何在graphql中建模?我是否使用graphql查询分页(使用偏移量/限制,以DB为单位)?Reactjs 如何将Redux应用程序转换为GraphQL/Apollo?,reactjs,redux,graphql,apollo,Reactjs,Redux,Graphql,Apollo,我正在重构一个使用redux的express+react应用程序,我想切换到graphql(apollo),但我有一些事情还不太清楚 因此,一般的流程是GET请求获取数据(一个对象数组),然后将数据存储在redux存储中,并使用分页的选择器将其显示为列表。然后,用户可以编辑条目(条目在redux存储中修改),然后他可以“发布”从redux存储中获取数据并调用POST端点 我将如何在graphql中建模?我是否使用graphql查询分页(使用偏移量/限制,以DB为单位)? 编辑完成后,如何修改内存
编辑完成后,如何修改内存中的条目并同时发布所有条目?在Apollo中,这非常简单:
- 获取的数据存储在规范化缓存中(列表和项目分开)李>
- 组件可以使用
hook获取数据(使用缓存客户端)李>useQuery
- 渲染具有编辑功能的项目李>
- 在
/onChange
事件调用变异函数(从onSave
hook返回),将一个或多个记录数据(要更新)作为变量传递李>usemotation
- 发送到API的数据产生响应(变异解析器),您可以使用(在
handler中)更新本地缓存(onCompleted
)或调用refetch查询(通过从writeQuery
调用fn/handler),这两种方法都将强制使用更新的数据重新提交组件李>useQuery