Ошибка типа:undefined не является функцией - Realm

У меня есть файл js, где я объявил свои схемы, параметры базы данных и функции, которые вставляют данные, запрашивают данные из схемы.

Я запускаю приложение на эмуляторе Android, каждый раз, когда я пытаюсь вставить данные, он всегда возвращается с этой ошибкой TypeError:undefined is not a function(evaluating'_realm2.default.open(databaseOptions)') Может кто-нибудь, пожалуйста, помогите, я застрял на нем в течение нескольких дней:(

ALLSCHEMAS.JS

import Realm from 'realm';
export const PERSON_SCHEMA = "Person";

export const PersonSchema = {
name: PERSON_SCHEMA,
primaryKey: 'id',
properties: {
    id: 'int',
    name: {type: 'string', indexed: true}
}
};
const databaseOptions = {
path: 'person.realm',
schema: [PersonSchema],
schemaVersion: 0
};

export const insertNewPerson = newPerson => new Promise((resolve, reject)=>{
Realm.open(databaseOptions).then(realm => {
    realm.write(() => {
        realm.create(PERSON_SCHEMA, newPerson);
        resolve(newPerson);
    });
}).catch((error) => reject(error));
});
export const queryAll = () => new Promise((resolve, reject) => {
Realm.open(databaseOptions).then(realm => {
    let allPersons = realm.objects(PERSON_SCHEMA);
    resolve(allPersons);
}).catch((error) => {
    reject(error);
});
});
export default new Realm(databaseOptions);

APP.JS

import React from 'react';
import {StyleSheet, Text, View} from 'react-native';
import {insertNewPerson, queryAll} from "./databases/allSchemas";
 export default class App extends React.Component {
  constructor(props) {
    super(props);
    this.state = {timePassed: false, value: '', realm: "books"};

  }

  render() {
    const newPerson = {
        id: Math.floor(Date.now() / 1000),
        name: this.state.realm
    };
    insertNewPerson(newPerson).then().catch((error) => {
        alert(error);
    });
    queryAll().then((value) => {
        this.setState({value});
    }).catch((error) => {
    })
    return (
        <View>
            <Text>
                {this.state.value}
            </Text>
        </View>
    );
}
}

0 ответов

Другие вопросы по тегам