,可以通过以下步骤来实现:
import jsonServerProvider from 'ra-data-json-server';
const extendedDataProvider = (jsonServerProviderOptions, httpClientOptions = {}) => {
// 扩展create方法,以确保在正文中不发送ID
const create = (resource, params) => {
if (!params.data.id) {
delete params.data.id; // 删除ID字段
}
return jsonServerProviderOptions.create(resource, params);
};
// 返回扩展的数据提供程序
return {
...jsonServerProvider(jsonServerProviderOptions, httpClientOptions),
create,
};
};
export default extendedDataProvider;
import React from 'react';
import { Admin, Resource } from 'react-admin';
import extendedDataProvider from './jsonServerProvider'; // 引入自定义的数据提供程序
import { PostList, PostEdit, PostCreate } from './posts';
const App = () => (
<Admin dataProvider={extendedDataProvider('http://jsonplaceholder.typicode.com')}>
<Resource name="posts" list={PostList} edit={PostEdit} create={PostCreate} />
</Admin>
);
export default App;
在上面的代码中,http://jsonplaceholder.typicode.com
是你的JSON Server的API地址,可以根据实际情况进行修改。
现在,当你在React-Admin中进行更新操作时,它将不会在正文中发送ID字段,而是从URL参数中获取ID。
这是一个简单的扩展JSON Server数据提供程序的方法,以确保在React-Admin中更新操作不会发送ID字段。关于React-Admin和JSON Server的更多详细信息,请参考官方文档和相关资源。
领取专属 10元无门槛券
手把手带您无忧上云