无法在 Realm + React Native 中修改写入事务错误之外的托管对象



我正在尝试在 Realm 和 React Native 中为我的数据库编写一个类,我确定出了什么问题。我的领域代码如下。当我在主题管理器类上调用 createTopic 方法时,我收到一条错误消息"无法在写入事务之外修改托管对象"。写入数据库的方法以前是有效的。所以我一定错过了一些简单的东西。感谢您的观看!

import React, { Component } from 'react';
const Realm = require('realm');
class Topic {}
Topic.schema = {
    name: 'Topic',
    primaryKey: 'key',
    properties: {
        name: 'string',
        key: 'string'
    },
};
const topicManager = new Realm({schema: [Topic]});

export class TopicManager {
constructor(props) {
  }
    createTopic(insertName) {
         const uuid = this.uuidv4();
         savedTopic = topicManager.create('Topic', {
             key: uuid,
             name: insertName,
         });
    }
    uuidv4() {
      return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function(c) {
        var r = Math.random() * 16 | 0, v = c == 'x' ? r : (r & 0x3 | 0x8);
        return v.toString(16);
      });
    }
}

可能

createTopic(insertName) {
    topicManager.write(() => { // <--
      savedTopic = topicManager.create('Topic', {
             key: uuid,
             name: insertName,
         });
    }); // <--
}

相关内容

  • 没有找到相关文章

最新更新