react-admin 中可以有多个 dataProviders 吗? [英] Is it possible to have multiple dataProviders in react-admin?

查看:32
本文介绍了react-admin 中可以有多个 dataProviders 吗?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如果我有多个不同的 REST API 后端(独立的应用程序做不同的事情),并且我想要一个能够对这些不同后端管理的实体执行 CRUD 的 UI(基于 React 管理的)应用程序,我很好奇是否可以连接 react-admin 来做到这一点.

If I have multiple distinct REST API back-ends (separate apps doing separate things), and I want a single UI (react-admin-based) app that is capable of doing CRUD to entities managed by these various back-ends, I'm curious if it's possible to wire up react-admin to do that.

我想象的不是这个(单个/全局数据提供者):

I'm imagining that instead of this (single/global dataProvider):

const App = () => (
    <Admin dataProvider={simpleRestProvider('http://path.to.foo.api')}>
        <Resource name="foos" list={FooList} />
    </Admin>
);

我们可以这样做(特定于资源的数据提供者):

we could do something like this (resource-specific dataProviders):

    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 有任何建议,我将不胜感激.

At any rate, if you have advice on how I can do REST to multiple back-ends in react-admin, I'd appreciate it very much.

推荐答案

否,但您可以拥有一个超级数据提供者,它会根据资源选择合适的数据提供者.类似的东西:

No, but you can have a super dataProvivder which would select the appropriate one depending on the resource. Something like:

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

这篇关于react-admin 中可以有多个 dataProviders 吗?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

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