act-admin: изменение данных ресурса в хранилище без http-запроса - PullRequest
0 голосов
/ 29 июня 2018

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

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 },
});

это возможно?

1 Ответ

0 голосов
/ 08 июля 2018

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

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

// 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' },
});
...