【问题标题】:Why doesn't Relay's NODE_DELETE update the list of remaining Nodes为什么 Relay 的 NODE_DELETE 不更新剩余节点列表
【发布时间】:2016-08-17 01:15:27
【问题描述】:

我有一个 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,
    }
  }
}

【问题讨论】:

    标签: relay mutation


    【解决方案1】:

    我认为您需要进一步扩展您的 getFatQuery,如下所示。

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-04-28
      • 1970-01-01
      • 2011-05-25
      • 2020-07-03
      • 1970-01-01
      • 2023-01-11
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多