response-admin: изменение данных ресурса в магазине без HTTP-запроса

мне нужно изменить данные ресурса в магазине:

State->admin->resources->Orders->data

но без вызова http-запроса, как показано в примере документации:

// in src/comment/commentActions.js
import { UPDATE } from 'react-admin';
export const COMMENT_APPROVE = 'COMMENT_APPROVE';
export const commentApprove = (id, data, basePath) => ({
    type: COMMENT_APPROVE,
    payload: { id, data: { ...data, is_approved: true } },
    meta: { resource: 'comments', fetch: UPDATE },
});

Является ли это возможным ?


person Aleksey Vlasov    schedule 29.06.2018    source источник


Ответы (1)


Да, это возможно. Однако, поскольку мы обычно справляемся с оптимистичным поведением и другими тонкостями, это будет непросто.

Если вам нужен тип действия для других целей (например, саги или настраиваемые редукторы):

// in src/comment/commentActions.js
import { UPDATE, FETCH_END } from 'react-admin';

export const COMMENT_APPROVE = 'COMMENT_APPROVE';

export const commentApprove = (id, data, basePath) => ({
    type: COMMENT_APPROVE,
    payload: { id, data: { ...data, is_approved: true } },
    meta: { resource: 'comments', fetchResponse: UPDATE, fetchStatus: FETCH_END },
});

Если вы этого не сделаете:

// in src/comment/commentActions.js
import { CRUD_UPDATE_OPTIMISTIC } from 'react-admin';

export const commentApprove = (id, data, basePath) => ({
    type: CRUD_UPDATE_OPTIMISTIC,
    payload: { id, data: { ...data, is_approved: true } },
    meta: { resource: 'comments' },
});
person Gildas Garcia    schedule 08.07.2018