обновление реакции-ретрансляции удалить мутацию

Я не могу узнать, как обновить таблицу после удаления строки. Apollo-сервер используется в бэкенде и ретрансляторе для клиента. Я пытаюсь использовать NODE_DELETE, но не знаю, что делаю неправильный

это удаление мутации

    const mutation = graphql`
mutation DeleteAdMutation(
    $id: ID!
) {
    deleteEvent(
        id: $id
    )
    {
        deletedId
    }
}`;

export const DeleteEvent = (input) => {
return new Promise((resolve, reject) => {
    commitMutation(
        environment,
        {
            type: 'NODE_DELETE',
            deletedIDFieldName: 'deletedId',
            mutation,
            variables: input,
        }
    )
});};

deleteId успешно возвращен, но в таблице ничего не меняется

запрос таблицы:

 const GetADayTours = graphql`
query GetADayToursQuery(
    $type: String!,
    $page: Int!,
    $row: Int!,
) {
    getADayTours(
        type: $type,
        page: $page,
        row: $row,
    ) {
        page
        row
        total
        data{
            ...on aDayTour{
                ...Row_row
            }
        }
    }
}`;
  export default GetADayTours;

и вот фрагмент строки:

createFragmentContainer(RowComponent
, {
    row: graphql`
        fragment Row_row on aDayTour {
            _id
            id
            title
        }
    `,
});

person Reza Sam    schedule 22.06.2020    source источник


Ответы (1)


Вы должны добавить ConnectionKey для записей с разбивкой на страницы при запросе данных

обратитесь к этому

https://relay.dev/docs/en/pagination-container.html#connection, как добавить соединение во время запроса.

И после этого, когда вы хотите удалить с помощью nodeId, вы должны использовать connectionHandler из «relay-runtime»:

https://relay.dev/docs/en/relay-store#connectionhandler

person Chintan Rajpara    schedule 11.08.2020