@realm/expo-template 中的 Sync 和 NonSync 有什么关系?

问题描述 投票:0回答:1

我正在将我的第一步转向反应本机开发,并且我正在尝试集成本地和云存储领域。

我要去参加博览会,所以我从 realm docs 下载了模板。我对存储的想法是,最初用户无需注册即可使用该应用程序。然后,如果他愿意,他可以创建一个帐户将本地数据同步到云端。这样他就可以使用另一台设备并仍然可以访问他的数据。

模板中有

AppSync.tsx
AppNonSync.tsx
。这是什么意思?我是否必须为本地或云存储开发不同的版本?该应用程序还根据
sync.config.js
中的标志决定加载哪一个。我认为当用户决定注册时我可以在运行时更改它。

我发现该模板相当混乱。你能帮我理解一下吗?

编辑1:

我尝试切换标志来加载 AppSync,现在它要求我立即登录/启动(它看起来不是“先离线”)。

react-native expo realm
1个回答
0
投票

Realm 和 Realm SDK(现在称为 Atlas Device SDK)是一个离线的第一个数据库,能够同步到 MongoDB Atlas 服务器,即“云存储”。

通过同步,Realm 数据首先存储在本地,然后自动同步到 Atlas - 只要有互联网连接,通常在几毫秒内。

问题中提到的两个文件仅演示离线存储(AppNonSync.tsx),通常称为“仅本地”,然后同步存储(AppSync.tsx)。 Local only 实现起来要简单得多,并且是熟悉 Realm 的一个很好的起点。例如,此代码是配置仅本地 Realm 所需的全部代码

import React from 'react';
import {RealmProvider} from '@realm/react';
function AppWrapperLocal() {
  return (
    <RealmProvider schema={[YourObjectModel]}>
      <RestOfApp />
    </RealmProvider>
  );
}

同步设置需要更多代码,并且已在文档中介绍。

匿名身份验证是允许用户尝试应用程序的一种方式,以后可以更改为电子邮件/密码身份验证,并可以链接到原始数据。文档中对此进行了介绍。

您不需要创建两个不同的版本;如果是同步的,则使用 AppSyc 模板。请注意,即使同步也存储在本地,因此即使离线,您也始终可以访问数据。 离线时访问同步领域

介绍了离线时访问同步数据

一个想法是让您的试用版成为仅本地应用程序(不需要身份验证) - 当用户注册时决定喜欢它时,他们的数据将在他们的所有设备上可用。

© www.soinside.com 2019 - 2024. All rights reserved.