私は削除突然変異を書いています。変異がKey
ノードを削除し、viewer
のkeys
コレクション(私はリレー形式のコレクションを使用しています更新する必要があります。viewer { keys(first: 3) { edges { node { ... }}}}
を削除突然変異のための楽観的な更新
にアドバイスhere後、私は簡単にするためにFIELDS_CHANGE
設定を使用していて、それが実際に働いています:?。
export class DeleteKeyMutation extends Relay.Mutation {
static fragments = {
viewer:() => Relay.QL`
fragment on Viewer { id }
`,
};
getMutation() { return Relay.QL`mutation {deleteKey}`; }
getVariables() {
return {
id: this.props.id,
};
}
getFatQuery() {
return Relay.QL`
fragment on DeleteKeyPayload {
viewer { keys }
}
`;
}
getConfigs() {
return [
{
type: 'FIELDS_CHANGE',
fieldIDs: {
viewer: this.props.viewer.id,
},
},
];
}
}
は今、私はこのために楽観的変異を書く必要がありますどのように私は別のアプローチを試してみたが、どれも働いたリレーで
残念ながら、このソリューションはうまくいかないようです。1)突然変異フラグメントに誤字があります。これは '{id、keys {edges(first ...'; 2) 'warning.js:44警告:RelayQueryWriter:' Vmlld2VyOm1l'レコードの型名を見つけることができませんでした(楽観的な応答に '__typename: 'Viewer''を追加すると消えます)。 3)残念ながら更新は行われません。私はこれに関する問題を開くべきですか? –
私は更新変異のための楽観的な応答を書いていましたが、削除変異のための楽観的な応答を書いていました –
ステップバイステップで、私はRelayQueryWriterがオプティミスティックアップデートで(最終アップデートと同じように) '_writeConnection 'keys'フィールドでは' _writeLink() 'と呼ばれています。どうやら、クエリの 'keys'フィールドのメタデータには' isConnection:false'というアイデアがあります。 –