Ich habe ein Modell wie diese, in der Lage sein Feld speichern Details wie JSONRealm Abfrage in React india Returns Realm-Objekt anstelle Klasse Instanz
class Person {
set details(data) { this._details = data ? JSON.stringify(data) : null; }
get details() { return this._details ? JSON.parse(this._details) : null; }
}
Person.schema = {
name: 'Person',
primaryKey: 'id',
properties: {
id: 'string',
name: 'string',
_details: { type: 'string', optional: true }
}
};
Wenn ich jetzt
realm.write(() => {
// this is a write block for some other objects,
// but at some point I need to find a person
let person = realm.objectForPrimaryKey('Person', id);
console.log(person);
});
Es tue wird eine Instanz von RealmObject mit Gettern und Setter für _details
abmelden, aber nichts für details
, also ist es keine Instanz von Person, fehle ich hier etwas?
Ich versuchte auch class Person extends Realm.Object { ... }
, aber nichts änderte. Ich lese die documentation und nahm an, dass es so funktionieren sollte, und ich hoffe, dass es sonst viel Code ändern muss.
UPDATE
vorübergehend fixiert (gehackt) durch
let _person = realm.objectForPrimaryKey('Person', id);
if (_person) {
let person = new Person();
_.assign(person, _person);
}
Irgendwelche bessere Vorschläge machen?
'importieren Person aus './models/Person'; const realm = neuer Realm ({schema: [Person], schemaVersion: 1}); ' –