ich eine Funktion mit diesem Code aufrufen,Destrukturierung und berechnet propery Namen zusammen arbeiten, es6
gqlActions('customer', 'Add', this.props, values);
oder
gqlActions('customer', 'Update', this.props, values);
diese funcions für Hinzufügen und Aktualisieren von Aktionen. Auf der Funktion I berechnete Eigenschaft verwenden, zum Beispiel in
const tableAction= `${table}${action}`;
[tableAction]: valuesOptimistic,
Es funktioniert ok, ist mein Problem, bevor in Destrukturierung, diese Variable nach zu verwenden:
update: (store, { data: { [tableAction] }}) => {
data.customers.push([tableAction]);
es ist nicht gültig Syntax ... , bevor ich für hard 'Add' Aktion verwendet haben:
update: (store, { data: { customerAdd }}) => {
data.customers.push(customerAdd);
},
oder
update: (store, { data: { customerUpdate }}) => {
data.customers.push(customerUpdate);
},
becase I 'update' Eigenschaft senden für eine Bibliothek zu arbeiten, die mir den Wert accord auf [tableAction] sendet, dass ich in definiert haben:
optimisticResponse: {
[tableAction]: valuesOptimistic,
}
I Parameter bedeuten in Denormalisierung ist variabel (Update oder hinzufügen). Ich hoffe, dass es klar ist.
meine volle Funktion:
export const gqlActions = (table, action, props, values) => {
const valuesOptimistic = {
...Object.assign({}, values, __typename: table'})
};
const tableAction= `${table}${action}`;
props.mutate(
{
variables: values,
optimisticResponse: {
[tableAction]: valuesOptimistic,
},
update: (store, { data: { [tableAction] }}) => {
data.customers.push([tableAction]);
},
},
)
}
}
verwenden, können Sie ein Beispiel für Ein- und Ausgang geben? – Roman