Можно ли иметь несколько провайдеров данных в реакции-администратора? - PullRequest
0 голосов
/ 06 июня 2018

Если у меня есть несколько различных серверных частей REST API (отдельные приложения выполняют разные задачи), и я хочу одно приложение с пользовательским интерфейсом (на основе реакции администратора), которое способно выполнять CRUD для объектов, управляемых этими различными серверными областямиМне любопытно, если это возможно подключить реагировать-администратора, чтобы сделать это.

Я представляю, что вместо этого (один / глобальный dataProvider):

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

мы могли бысделать что-то вроде этого (data -rovider для конкретных ресурсов):

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

В любом случае, если у вас есть совет о том, как я могу сделать REST для нескольких бэк-эндов в Reaction-Admin, я был бы очень признателенмного.

1 Ответ

0 голосов
/ 08 июля 2018

Нет, но вы можете иметь супер 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);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...