首页 > 解决方案 > 删除 Redux-ORM 模型实例时出错(多对多)

问题描述

我正在使用 Redux-ORM 将关系模型数据存储在我正在构建的反应项目中。

有两种型号;网站和文档。它们之间的关系是多对多的。该关系在文档模型中定义。

export class Site extends Model {
    static get fields() {
        return {
            id: attr(),
            name: attr()
        }
    }
}
Site.modelName = 'Site'

export class Document extends Model {

    static get fields() {
        return {
            id: attr(),
            name: attr(),
            site_ids: many({
                to: 'Site',
                as: 'sites',
                relatedName: 'documents'
            })
        }
    }
}
Document.modelName = 'Document'

一切正常(添加/更新),除了我无法删除具有关系的文档:

Document.withId(action.documentId).delete()

在 Models.js 第 734 行“未捕获(承诺中)TypeError:this[key].clear is not a function”中导致错误

devTools 显示 'this' = SessionBoundModel 和 'key' "site_ids"

所以它似乎试图在数组上运行 .clear() 函数。有没有其他人能够在多对多上实现删除?我的模型是错误的还是这是一个错误?

谢谢

标签: reactjsredux-orm

解决方案


推荐阅读