如何解决具有react-admin v 3.9.6的多个dataProvider
嗨,我想使用superDataProvider在v3中使用2个dataProvider。并由资源名称决定。我遵循相同的示例,但没有成功(我也尝试使用dataProviderFactory进行演示)
import jsonServerProvider from 'ra-data-json-server';
import restProvider from 'ra-data-simple-rest';
const dataProviderRest = restProvider('https://myapi.com');
const dataProviderJson = jsonServerProvider('https://jsonplaceholder.typicode.com');
const superDataProvider = (type: any,resource: any,params: any) => {
if (resource === 'tags') {
return dataProviderRest;
}
return dataProviderJson;
}
export default superDataProvider;
解决方法
文档说dataProvider必须具有以下方法:
const dataProvider = {
getList: (resource,params) => Promise,getOne: (resource,getMany: (resource,getManyReference: (resource,create: (resource,update: (resource,updateMany: (resource,delete: (resource,deleteMany: (resource,}
因此,我认为可以使用类似的方法
import jsonServerProvider from 'ra-data-json-server';
import restProvider from 'ra-data-simple-rest';
const dataProviderRest = restProvider('https://myapi.com');
const dataProviderJson = jsonServerProvider('https://jsonplaceholder.typicode.com');
export const superDataProvider = {
...dataProviderJson,// Preserve methods that are not extended
update: (resource,params) => {
if (resource === 'tags') {
return dataProviderRest.update(resource,params);
}
return dataProviderJson.update(resource,params);
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。