我有一个变异,它对中继连接中的两个边重新排序。乐观地执行此重新排序的正确方法是什么?我已经尝试过就地排序,例如:
const conn = ConnectionHandler.getConnection(pathway, 'PathwayGraph_actions');
const edges = conn.getLinkedRecords('edges');
edges.sort((a, b) => {
const laneA = a.getLinkedRecord('node').getValue('laneNumber');
const laneB = b.getLinkedRecord('node').getValue('laneNumber');
return laneA - laneB;
});
这似乎不起作用。我怀疑中继会非常努力地禁止除通过其接口外的商店突变。我想我可以使用ConnectionHandler删除所有现有的边,然后以适当的顺序将它们全部重新添加,但这听起来很麻烦。有更好的方法吗?
答案 0 :(得分:0)
RecordProxy.setLinkedRecords使得这一点不那么糟糕:
edges.sort((a, b) => {
const laneA = a.getLinkedRecord('node').getValue('laneNumber');
const laneB = b.getLinkedRecord('node').getValue('laneNumber');
return laneA - laneB;
});
conn.setLinkedRecords(edges, 'edges');
对有人是否有更时尚的方式还是有点好奇。