【问题标题】:React Amplify/Datastore- cannot get delete record to deleteReact Amplify/Datastore-无法删除要删除的记录
【发布时间】:2020-12-18 02:42:11
【问题描述】:

在反应中,我有以下脱机运行的代码。我显然找到了它。:

  async function deleteMessage() {
    toDelete = await DataStore.query(Message, c => c.id("eq","4faebf3b-f89a-4e34-978a-0fea611897e0"))
    alert("toDelete: " + !toDelete ? toDelete : toDelete.length )
    if (!toDelete || (toDelete !== undefined && toDelete.length == 0)) 
    {
      alert("Nothing to delete")
      return
    }
    alert("Deleting " + toDelete.length + " records.")
    alert("id for 0 = " + toDelete[0].id + " title: " + toDelete[0].title + " color: " + toDelete[0].color + " createdAt: " + toDelete[0].createdAt)

    await DataStore.delete(toDelete);
    alert("after delete")

   // updateFormState(initialState)
  }

toDelete 的所有字段都正确,并且在实际删除之前显示在警报中,因此 toDelete 应该是正确的模型。

一个警报说:删除 1 条记录。

下一个警报显示:id for 0 = 4faebf3b-f89a-4e34-978a-0fea611897e0 标题:aaasdfasdf 颜色:#6c2f2f createdAt:未定义

但它永远不会从删除中返回,我收到错误:

Unhandled Rejection (Error): Object is not an instance of a valid model
DataStore.<anonymous>
C:/Projects/React/src/datastore/datastore.ts:897
  894 |     sortPredicate = ModelSortPredicateCreator.createFromExisting(modelDefinition, paginationProducer.sort);
  895 | }
  896 | return {
> 897 |     limit: limit,
      | ^  898 |     page: page,
  899 |     sort: sortPredicate,
  900 | };
View compiled

我错过了什么?

另外,模型是:

type Message @model {
  id: ID!
  title: String!
  color: String
  createdAt: String
}

谢谢。

【问题讨论】:

    标签: reactjs amplify


    【解决方案1】:

    想通了。

    更改为Delete = await DataStore.query(Message, c => c.id("eq","4faebf3b-f89a-4e34-978a-0fea611897e0"))

    toDelete = await DataStore.query(Message, "4faebf3b-f89a-4e34-978a-0fea611897e0"))

    第一个示例返回一个对象数组。 第二个例子返回一个对象。

    DataStore.delete() 需要一个对象而不是对象数组。我正在传递一个对象数组。

    DataStore.delete(toDelete) 将适用于第二个示例,但不适用于第一个示例,因为那是一个对象。

    如果我使用第一个示例,则必须使用:

    DataStore.delete(toDelete[0])

    【讨论】:

      猜你喜欢
      • 2021-11-16
      • 2020-01-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-02-12
      • 2015-03-12
      • 2018-10-30
      相关资源
      最近更新 更多