问题标签 [realm-js]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1006 浏览

reactjs - react native 的领域不在调试模式下工作

在调试模式下打开 react-native 应用程序时,我在控制台和通过 USB 连接的设备中收到以下错误

在此处输入图像描述

0 投票
2 回答
1317 浏览

react-native - 如何将领域与异步获取请求一起使用?

我的要求符合这种情况:</p>

步骤1.将数据保存到手机(领域)中的本地数据库

step 2. 上传本地数据到服务器,成功后服务器返回数据 id step 3. 根据step2返回的id删除本地db中的记录

但这并不像预期的那样工作,似乎 DB 比网络成功回调关闭得太早。感谢您的任何想法。

0 投票
0 回答
205 浏览

ios - Realm 的桥没有 setter 或 ivar,这是不允许的

我想在 Realm 中使用 Jitsi-Meet(视频通话库)。当我在 iOS 上运行应用程序时,Realm 不起作用。它显示以下错误:

2018-12-28 16:22:34.504 [error][tid:main][RCTModuleData.mm:179] Realm has no setter or ivar for its bridge, which is not permitted. You must either @synthesize the bridge property, or provide your own setter method.

如果我删除 Jisti-Meet 库,Realm 可以正常工作。Jitsi-Meet 在没有领域的情况下也能正常工作。

重现步骤

  1. 创建一个新的 react-native 应用程序:react-native init AwesomeProject
  2. 安装领域-js:npm install realm --savereact-native link realm
  3. 安装 React Native Jisti Meet:npm install react-native-jitsi-meet --save
  4. 在 Build setting 下将Dead Code Stripping设置为 No,将Enable Bitcode设置为 No 并将Always Embed Swift Standard Libraries设置为 Yes
  5. 添加node_modules/react-native-jitsi-meet/ios/WebRTC.frameworknode_modules/react-native-jitsi-meet/ios/JitsiMeet.framework嵌入二进制文件。
  6. 选择Build Settings,找到Search Paths。编辑 BOTHFramework Search PathsLibrary Search Paths. 并在两个部分上添加路径:$(SRCROOT)/../node_modules/react-native-jitsi-meet/ioswithrecursive

现在运行应用程序,应用程序将显示错误。

代码示例

文件名:App.js

领域和工具的版本

  • Realm JS SDK 版本:2.21.1(低版本也有同样的问题)
  • 节点或 React Native:RN 0.57.8
  • 客户端操作系统和版本:iOS Real Device - 12.1.2
  • MacOS:10.13.6 高山脉
  • React Native 的调试器:无
0 投票
1 回答
238 浏览

react-native - 如何防止 Realmjs 中的多个 beginTransactions?

我创建了一个函数来处理事务,然后我将它调用到多个地方。当我打开新事务时另一个事务尚未完成时,我崩溃了。

这是我的代码:

0 投票
1 回答
642 浏览

database - 更改列类型后如何迁移 RealmJS db?

realmjs在我有一个 schema 的 react-native 应用程序中使用 DB settings。我想将该架构的属性类型从 更改intstring。所以我知道我需要执行迁移,我决定执行linear迁移。对于迁移,我遵循了 Realm 文档中的示例,并最终执行了如下操作:

schemaV1是旧版本的数据库,schemaV2是更改属性类型后的最新版本的数据库。schemaV2还具有如下迁移功能:

但最后,当我尝试运行该应用程序时,它会崩溃并显示一条错误消息

需要数据库迁移

这是否意味着schemaV2永远不会运行迁移功能?如果是这样,如何确保所有迁移功能都正常运行?还是我错过了其他东西?

编辑

我发现 RealmJS 中不允许更改列类型,我添加了一个新列并尝试执行迁移,但仍然出现相同的错误。

0 投票
1 回答
138 浏览

reactjs - 移动离线同步

我目前正在开发一个 React Native 应用程序,服务器已经实现,我的应用程序应该实现离线同步,我计划realm在移动设备上集成来处理离线数据并将数据推送到实现的服务器时设备在线。我该怎么做呢?

0 投票
0 回答
34 浏览

android - 领域多类错误打开距离

我有一个包含 5 个类的 .realm 文件,我想打开该 .realm 文件并读取一个类的列,但是当我尝试访问数据库时收到错误消息。这是一个用 react native 制作的 Android 应用程序。这是我用来从数据库中读取数据的函数:

函数 domainDatabaseOptions 返回 .realm 文件的架构和路径。我尝试使用只有一个类的 .realm 文件,它可以工作,但是当我添加另一个类时,没有任何效果。我使用 .csv 文件创建了数据库。

0 投票
0 回答
121 浏览

ios - APP收到后台事件且iPhone被锁定时的Realm使用情况

所以我正在开发一个接收后台事件的react-native APP。并且当手机被锁定时,当收到后台事件时,应用程序崩溃并且不会在领域库中保存数据。

是基于地理位置的APP,所以需要在手机锁定时(按iPhone上的阻止按钮时)保存信息。

尝试修改一些本机 Objective-c 代码,仅适用于 DEV 构建(调试构建),但不适用于生产构建。

本机代码上的代码

手机锁定时,领域会保存数据。

0 投票
3 回答
1766 浏览

android - UI doesn't update until tap on the screen when setState is called inside a realm listener callback

UPDATED

DESCRIPTION

I have a listener on a Realm Object for getting updates. When there is an update on the server (or in the client) the function provided to the listener calls setState({}).

The strange part is that even if the console says that everything is ok, and it shows that the render method was called with correct data, I can't see any updates to my app.

If I tap on the screen randomly (after 1s,2s, 20s...) the UI magically updates and everything is correct.

If I do the same setState with a function called from a button it works, I guess because the animation of the button triggers the UI update.

Thanks for reading this.

STEP TO REPRODUCE

You have to update the server_url and credential in order to work.

react-native init test npm install realm react-native link realm

Since realm is not ready for 64-bit you must also be sure t compile only in 32bit in order to avoid app crashing when launched

use this code:

App.js

#xA;

Schema.js

#xA;

Package.json

#xA;

Some other strange things :

  • If I remote debug js to react native debugger (on Windows, but I guess is the same) the problem disappears.
  • The same thing happens on 3 different devices( 2 real, 1 emulator)
0 投票
1 回答
411 浏览

javascript - 领域对象列表函数未定义,即使对象已定义且列表已填充

试图将一个新的 int 推入一个 int 领域列表。我可以获取 Realm 对象,我可以打印它,当我打印对象时,它会显示列表及其内容,我可以使用 Realm Studio 进行编辑、将数字添加到列表等。但是当我尝试调用任何方法时形成它说它未定义的列表。

尝试过异步,等待,然后,虽然这是一个同步问题,但看起来不像。

下面的代码与我的相似,但经过编辑以隐藏原始名称等,并且没有原始的所有属性,但它不会改变我正在尝试编辑的特定列表的行为。其他一切正常。我有一个像

创建新对象的函数是

我尝试添加一个数字:

它给出了一个错误:

我希望将项目推送到列表中,或者能够调用列表函数。相反,当我尝试使用它显示的列表时,undefined即使我可以看到它并且它是我打印对象时的内容......