小编Eri*_*cDS的帖子

保持电话和佩戴数据库同步

目前我有一个创建两种模型的应用程序(我们称之为A和B).
A与B具有1:N的关系,现在我在掌上电脑和可穿戴设备中都有一个数据库来存储这些模型.

问题是,我需要同步这两个数据存储,我不完全确定如何实现这一点.我看过许多文档引用了dataApi,他们建议你将数据保存在DataItem对象中,每次磨损连接时都会同步.
我对这种方法不是100%肯定的是:

  • DataApi是可靠的数据存储吗?(足以在手持设备和磨损中替换SQLite数据库)
  • DataApi可以支持搜索操作(例如,对象A具有的所有B对象)吗?如果是这样,你怎么能进行搜索?
  • 考虑到每个DataItem对应一个实体,我可以节省多少DataItems的限制?

关于这个主题的文档目前似乎有点缺乏,所以我不确定DataApi是否是我需要的正确实现,或者我是否必须在消息中将原始数据发送到同步数据库.

android-sqlite android-wear-data-api wear-os

5
推荐指数
1
解决办法
667
查看次数

如何对 apollo 链接进行单元测试

我目前有点困惑如何在我的 React 应用程序中测试一些 apollo 链接,因为官方文档似乎只提供有关如何在组件连接到提供程序后测试组件的建议。

目前我有 2 个链接:一个用于注入授权令牌,另一个用于在服务器返回响应后刷新它;我想要做的是要么单独测试它们,要么测试客户端(将在这些链接和一个简单的基础上构建HttpLink)在满足条件时执行它们的逻辑。

以下是他们的实现:

// InjectToken.ts
import { setContext } from '@apollo/client/link/context';

import { getToken } from '../../authentication';

const authenticationLink = setContext(async (_, { headers }) => {

  // Fetches the token from the local storage
  const token = await getToken();

  if (token) {
    return {
      headers: {
        ...headers,
        Authorization: `Bearer ${token}`
      }
    }
  }

  return { headers };
});

export default authenticationLink;
Run Code Online (Sandbox Code Playgroud)
// RefreshToken.ts
import { ApolloLink } from '@apollo/client';

import { …
Run Code Online (Sandbox Code Playgroud)

unit-testing mocking typescript reactjs apollo-client

2
推荐指数
1
解决办法
2247
查看次数