Jas*_*bas 5 javascript realm react-native
我正在使用Realm JS和我的React Native应用程序.我在我的架构中插入了一个值,如下所示.
const CarSchema = {
name: 'Car',
properties: {
model: 'string'
}
};
let realm = new Realm({schema: [CarSchema]});
realm.write(() => {
realm.create('Car', {
model: 'Ford'
});
});
let cars = realm.objects('Car');
console.log(cars);
Run Code Online (Sandbox Code Playgroud)
在Chrome控制台中,我获得了以下对象,而不是数据库中的所有汽车.
我在这里错过了什么吗?
Tay*_*enn 17
这是Realm对象工作方式(以及列表和结果)的结果 - 而不是从数据库中对数据进行水化并对(可能)大量对象进行反序列化,Realm为您提供了延迟加载的对象和集合.Realm.objects('Car')不会返回一个JavaScript数组,而是一个Results对象 - 它的行为与数组完全相同,但它不是使用内置数组对象实现的.这就是为什么它看起来不像Chrome控制台中的一系列对象,即使它的行为相同.
但是,您可以急切地读取数组中的Realm集合,Array.from(realm.objects('Car'))并在调试器中更好地可视化.
"代理"对象是Realm及其零拷贝哲学的基石.所有Realm SDK都以相同的方式实现 - 而不是通过序列化和反序列化的普通对象,您获得直接访问数据库的代理对象.
在realm-js中,实际的代理机制根据您的代码是在React Native,Node.js还是React Native Chrome调试器上运行而有所不同,因此这些代理的实现细节会有所不同.
所有这一切的问题在于它在JavaScript调试器中不能很好地显示.不幸的是,我不知道如何影响Chrome在调试器中显示对象的方式.
来源:我是一个领域的贡献者.
| 归档时间: |
|
| 查看次数: |
2922 次 |
| 最近记录: |