Как правильно иметь несколько провайдеров данных в response-admin? - PullRequest
0 голосов
/ 19 октября 2018

Я пытаюсь использовать несколько поставщиков данных в проектеact-admin, но у меня есть ошибка:

Warning: Missing translation for key: "dataProvider is not a function"

function.console. (Анонимная функция) @ index.js: 1452

У меня есть App.js вот так:

import React from 'react';
import { render } from 'react-dom';
import { Admin, Resource } from 'react-admin';
import dataProviders from './service/dataproviders';
import UserList1,  from './users1';
import UserList2,  from './users2';

const App = () => (
  render(
    <Admin dataProvider={dataProviders}>
      <Resource name="users1" list={UserList1} />
      <Resource name="users2" list={UserList2} />
    </Admin>,
    document.getElementById('root'),
  )
);

export default App;

И у меня есть файл dataproviders.js:

import simpleRestProvider from 'ra-data-simple-rest';

const dataProviders = [
  { dataProvider: simpleRestProvider('http://path.to.foo.api1'), resources: ['users1'] },
  { dataProvider: simpleRestProvider('http://path.to.foo.api2'), resources: ['users2'] },
];

export default (type, resource, params) => {
  const dataProvider = dataProviders.find(dp => dp.resources.includes(resource));
  return dataProvider(type, resource, params);
};

Как это правильно?

Я проверяю этот пост:

Возможно ли иметь несколько провайдеров данных в Reaction-Admin?

1 Ответ

0 голосов
/ 19 октября 2018

Вы не вызываете dataProvider, который вы нашли, вы вызываете объект сопоставления из вашего массива.Вы можете исправить это так:

import simpleRestProvider from 'ra-data-simple-rest';

const dataProviders = [
  { dataProvider: simpleRestProvider('http://path.to.foo.api1'), resources: ['users1'] },
  { dataProvider: simpleRestProvider('http://path.to.foo.api2'), resources: ['users2'] },
];

export default (type, resource, params) => {
  const dataProviderMapping = dataProviders.find(dp => dp.resources.includes(resource));
  return dataProviderMapping.dataProvider(type, resource, params);
};
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...