【问题标题】:react-admin: changing resource data in store without http requestreact-admin:在没有http请求的情况下更改存储中的资源数据
【发布时间】:2018-06-29 10:17:56
【问题描述】:

我需要修改store中的资源数据:

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

有可能吗?

【问题讨论】:

    标签: react-admin


    【解决方案1】:

    是的,这是可能的。然而,由于我们通常处理乐观行为和其他细节,这并不简单。

    如果您需要您的操作类型来处理其他事情(例如 sagas 或自定义减速器):

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-01-05
      • 1970-01-01
      • 1970-01-01
      • 2017-11-02
      • 2011-08-31
      • 2011-12-16
      • 1970-01-01
      相关资源
      最近更新 更多