如果我有多个不同的 REST API 后端(独立的应用程序执行不同的操作),并且我想要一个 UI(基于 React-admin)应用程序能够对这些不同后端管理的实体执行 CRUD ,我很好奇是否可以连接react-admin来做到这一点。
我想象的是,而不是这个(单个/全局 dataProvider):
const App = () => (
<Admin dataProvider={simpleRestProvider('http://path.to.foo.api')}>
<Resource name="foos" list={FooList} />
</Admin>
);
我们可以做这样的事情(特定于资源的数据提供者):
const App = () => (
<Admin >
<Resource name="foos" list={FooList}
dataProvider={simpleRestProvider('http://path.to.foo.api')} />
<Resource name="bars" list={BarList}
dataProvider={simpleRestProvider('http://path.to.bar.api')} />
</Admin>
);
无论如何,如果您对如何在react-admin中对多个后端进行REST提供建议,我将非常感激。
最佳答案
不,但您可以拥有一个 super dataProvivder,它将根据资源选择合适的数据提供者。像这样的东西:
const dataProviders = [
{ dataProvider: simpleRestProvider('http://path.to.foo.api'), resources: ['foos'] },
{ dataProvider: simpleRestProvider('http://path.to.bar.api'), resources: ['bars'] },
];
export default (type, resource, params) => {
const dataProviderMapping = dataProviders.find(dp => dp.resources.includes(resource));
return dataProviderMapping.dataProvider(type, resource, params);
}
关于reactjs - 在react-admin中是否可以有多个dataProvider?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50724915/