reactjs - react-admin 中是否可以有多个 dataProviders?
问题描述
如果我有多个不同的 REST API 后端(不同的应用程序做不同的事情),并且我想要一个能够对由这些不同后端管理的实体执行 CRUD 的单个 UI(基于反应管理员)的应用程序,我'我很好奇是否可以连接 react-admin 来做到这一点。
我想象的是,而不是这个(单一/全局数据提供者):
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 有任何建议,我将不胜感激。
解决方案
不,但您可以拥有一个超级 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);
}
推荐阅读
- java - 如何阻止开发人员在生产环境中进行调试
- c - 为什么会出现未对齐的内存访问错误?[皮质 M4]
- c# - 如何用其他类控制方法
- object-detection - 如何为我的 GPU 计算 FPS 中的各种模型速度?在暗网中
- python - 如何访问字典数组中的值?
- php - 寻找完美的逻辑
- python - 如何从 BertForSequenceClassification 获取 hidden_states?
- flutter - 断言失败:第 549 行 pos 12:'child.hasSize':不正确
- django - 使用 ValidationError 和 Constraint(Django 2.2 中的新功能)时的最佳实践是什么?
- voice - 我可以添加智能插头的语音操作,这样我就可以“在 10 分钟内关闭插头”