react-admin:在没有 http 请求的情况下更改存储中的资源数据 [英] react-admin: changing resource data in store without http request

查看:39
本文介绍了react-admin:在没有 http 请求的情况下更改存储中的资源数据的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

i need to modify resource data in store:

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

但不调用 http 请求,如文档示例所示:

but without calling http request, like shown in documentation example:

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

有可能吗?

推荐答案

是的,这是可能的.但是,由于我们通常会处理乐观的行为和其他细节,因此不会一帆风顺.

Yes, it is possible. However, as we usually handle optimistic behaviours and other niceties, it won't be straightforward.

如果您需要其他操作类型(例如传奇或自定义减速器):

If you need your action type for other things (such as sagas or custom reducers):

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

这篇关于react-admin:在没有 http 请求的情况下更改存储中的资源数据的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆