reactjs - 在react-admin中拥有多个dataProvider的正确方法是怎样的?

标签 reactjs react-admin

我尝试在react-admin项目中使用多个数据提供程序,但出现错误:

Warning: Missing translation for key: "dataProvider is not a function"
function.console.(anonymous function) @ 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);
};

怎样才是正确的方法?

我检查了这篇文章:

Is it possible to have multiple dataProviders in react-admin?

最佳答案

您没有调用您找到的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);
};

关于reactjs - 在react-admin中拥有多个dataProvider的正确方法是怎样的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52889909/

相关文章:

javascript - 来自 Fauna DB 的逆向数据

conditional - 你如何在 react-admin 中有条件地显示 "Show"组件中的字段?

react-admin - React Admin 禁用分页

reactjs - 如何将Auth0与react-admin一起使用?

javascript - 为 SelectField 显示空白菜单项的正确方法是什么(material-ui,react)

reactjs - 如何通过 SWR Hook 使用缓存中存储的数据,以及如何使 SWR 仅获取一次

javascript - 使用样式化组件 themeProvider 开 Jest

javascript - React - 如何处理图像/文件的 403 错误

reactjs - 在 react-admin 中实现后退按钮

react-admin ImageField 高度/宽度