我已经使用npx react-native init AwesomeProject
(= 版本 0.64.1)建立了一个非常基本的 react-native 项目,然后我使用yarn add realm
. 此外,在我们运行的 ios 文件夹中pod install
。
接下来,我使用一个非常简单的 Car 模型创建了一个附加文件 realm.ts:
import Realm from 'realm'
class Car {
static schema = {
name: "Car",
primaryKey: '_id',
properties: {
_id: "int",
_make: "string",
_model: "string",
_miles: "int",
},
};
private _make: string;
private _model: string;
get carName() {
return `${this._make} ${this._model}`;
}
set make(value){
this._make = value;
}
}
const realm = new Realm({
schema: [Car]
});
realm.write(() => {
realm.create('Car', { _id: 1, _make: 'VW', _model: 'Golf', _miles: 0 });
})
const car = realm.objectForPrimaryKey('Car', 1)
console.log(car.isValid());
export default realm;
然后我在App.js
.
这很好用,您将true
在控制台中看到该行所期望的console.log(car.isValid());
另一方面,如果我们在 Chrome 模式下激活调试(全部在 iPhone 12 (iOS 14.5) 模拟器上完成),我们将收到错误消息:
TypeError: car.isValid is not a function
.
停止调试器,它会再次工作……这是怎么回事?