[Realm / React-Native调试器]:构造函数必须为'function'类型,得到(未定义)

时间:2018-10-08 23:38:15

标签: react-native realm

在没有调试器模式的情况下,它也可以正常工作。但是在调试器模式下,尝试使用架构参数创建Realm对象时出现错误。

import Realm from 'realm';

class Todo extends Realm.Object {}
Todo.schema = {
    name: 'Todo',
    properties: {
        done: {type: 'bool', default: false},
        text: 'string',
    },
};

class TodoList extends Realm.Object {}
TodoList.schema = {
    name: 'TodoList',
    properties: {
        name: 'string',
        creationDate: 'date',
        items: {type: 'list', objectType: 'Todo'},
    },
};

export default new Realm({schema: [Todo, TodoList]});

Realm JS SDK版本:2.17.0 React Native:0.57.1​​

constructor must be of type 'function', got (undefined)

2 个答案:

答案 0 :(得分:2)

此错误仅在版本2.18.0latest)中出现,请尝试降级为版本before 2.16.0

要降级领域包

npm uninstall realm

npm install --save realm@2.16.0

答案 1 :(得分:0)

与领域的2.18.0版本相关。您应该降级到2.16.0或升级。 并且不要忘记检查package.json上的版本号。应该是“ realm”:“ 2.16.0”,而不是“ realm”:“ ˆ2.16.0”。我为此损失了1天

之后,运行此代码以重置所有软件包; watchman watch-del-all && rm -rf $ TMPDIR / react-native-packager-cache- * && rm -rf $ TMPDIR / metro-bundler-cache- * && rm -rf node_modules / &&纱线缓存清理&&纱线安装&&纱线开始---reset-cache