Мне нужно динамически изменить мой файл мутации, чтобы иметь возможность создавать несколько элементов в одной мутации. Поэтому у меня есть эта функция createOrderName
, которая берет целое число и может создать правильный мутационный документ. Например. createOrderName(2)
получаетДокумент динамической мутации для реакции-apollo
mutation createOrderMut($input0: AddToOrderMenuItemConnectionInput!, $input1: AddToOrderMenuItemConnectionInput!) {
input0: addToOrderMenuItemConnection (input:$input0) {
changedOrderMenuItem {
id
}
}
input1: addToOrderMenuItemConnection (input:$input1) {
changedOrderMenuItem {
id
}
}
}
И мой контейнер выглядит следующим образом.
const CartContainer = compose(
graphql(createOrderName(2), {
props: ({ mutate }) => ({
addToOrderMenuItem: (menus, orderId) => mutate({
variables: createOrdersInput(menus, orderId)
})
})
})
)(CartView)
Как я могу передать целочисленное значение этой мутации, чтобы создать правильный мутационный документ? В настоящее время это исправление до 2, но мне нужно, чтобы он был более гибким, поэтому я могу создать любое количество элементов ...
Почему бы не отправить отдельный запрос мутации для каждого заказа? – stubailo
Это было бы слишком дорогое время. Например, если есть заказ на 500 предметов, потребуется 500 сетевых вызовов. тогда как с этим оно было сделано всего за 1 транзакцию сети. – Dan
Я думаю, что в этом случае вы должны использовать 'withApollo' для непосредственного использования' client.mutate' и динамически генерировать строку запроса. – stubailo