为什么 Relay 的 NODE_DELETE 不更新剩余节点列表

Why doesn't Relay's NODE_DELETE update the list of remaining Nodes

我有一个 NODE_DELETE 突变,可以从类别列表中删除 Category。即使它提供了正确的 deletedIDFieldname,类别列表在我刷新页面之前不会更新。

我在这里错过了什么吗?感谢您的任何提示!

import Relay from 'react-relay';

export default class DeleteCategoryMutation extends Relay.Mutation {

  getMutation() {
    return Relay.QL`mutation{deleteCategory}`;
  }
  getFatQuery() {
    return Relay.QL`
      fragment on DeleteCategoryPayload {
        category {
          id
        },
        viewer {
          allCategories
        }
      }
    `;
  }
  getConfigs() {
    return [{
      type: 'NODE_DELETE',
      parentName: 'viewer',
      parentID: this.props.viewer.id,
      connectionName: 'allCategories',
      deletedIDFieldName: 'category{id}',
    }];
  }
  getVariables() {
    return {
      id: this.props.categoryId,
    };
  }
  getOptimisticResponse () {
    return {
      deletedId: this.props.categoryId,
      viewer: this.props.viewer.id,
    }
  }
}

我认为您需要像下面这样进一步扩展 getFatQuery

 getFatQuery() {
    return Relay.QL`
      fragment on DeleteCategoryPayload {
        category {
          id
        },
        viewer {
          allCategories(first: 1000) {
            edges
          }
        }
      }
    `;
 }

希望这对您有所帮助。但我同意这有点棘手,在这种情况下 Relay 应该可以帮助你...