我在从同步到Firebase的状态中删除时遇到问题。我认为问题出在我的删除功能上。
这是我将状态同步到Firebase的方式
private async Task AddDefaultTasks(Item project)
{
await this.AddChildAsync(project, "Task A", Enums.ItemTypes.Task);
await this.AddChildAsync(project, "Task B", Enums.ItemTypes.Task);
await this.AddChildAsync(project, "Task C", Enums.ItemTypes.Task);
}
private async Task<Item> AddChildAsync(Item parent, string name, Enums.ItemTypes itemType)
{
return await this.NewAsync(new Item() { Name = name, ParentId = parent.Id, ItemTypeId = (int)itemType });
}
public async Task<Item> NewAsync(Item item)
{
item.OwnedById = this._applicationUserProvider.CurrentAppUserId;
item.InsertedBy = item.OwnedById;
item.UpdatedBy = item.InsertedBy;
item.EntityStatusId = (int)Enums.EntityStatus.Active;
DbContext.Items.Add(item);
await this.SaveChangesAsync();
return item;
}
我的删除功能如下
componentDidMount() {
base.syncState("recipes", {
context: this,
state: "recipes"
});
this.loadSampleData();
}
它在没有Firebase的情况下也可以工作,但是当我将状态同步到Firebase时,它就停止了工作。
如何使其与Firebase一起使用?
答案 0 :(得分:0)
我只是像这样更改了deleteRecipe函数,它开始起作用:
deleteRecipe(index) {
const recipes = { ...this.state.recipes };
recipes[index] = null;
this.setState({ recipes: recipes });
}