-1

我正在使用 graphQL 和作为数据库我使用 PostgreSQL。

所以我的主屏幕上有一个记录列表,当我的数据库上有新记录时我想更改它。我的数据库可以从不同的 UI 更新。那么每当我的数据库记录发生变化时,在不重新加载的情况下更新我的 FE 的最佳做法是什么。

作为一名加入者,我react-apollo-hooks用于获取 graphQL 数据。

我尝试了什么:

  • 网络套接字

参考链接:

还有其他更好的方法可以从 BE 获取最新数据吗?

编辑:我知道有很多方法可以实现这一点,但我想知道最好的方法。就像按照行业标准的方式。

4

1 回答 1

1

试试 React-Query,它也适用于 REST API 和 Graphql。您可以对数据库进行突变并使先前提取的数据无效以从后端获取更新的数据。此过程称为使陈旧数据无效。

const [mutate] = useMutation(addTodo, {
   onSuccess: () => {
     queryCache.invalidateQueries('todos')
     queryCache.invalidateQueries('reminders')
   },
 })

它是这样的,一旦你执行了改变数据库的 FUnction addTodo,在成功执行时,React 查询将使之前从数据库中提取的待办事项和提醒无效,并在后台从数据库中重新获取它们。

这是文档的链接

于 2020-08-17T09:06:34.037 回答