#react-admin
Вопрос:
Я работаю с reac-администратором, и в соответствии с демонстрацией у меня есть индексный файл для каждого ресурса. например, это мой ресурс undex для организации:
import BusinessIcon from '@material-ui/icons/Business';
import { OrganizationCreate } from './OrganizationCreate';
import { OrganizationEdit } from './OrganizationEdit';
import { OrganizationList } from './OrganizationList';
import { OrganizationShow } from './OrganizationShow';
const resource = {
list: OrganizationList,
create: OrganizationCreate,
edit: OrganizationEdit,
show: OrganizationShow,
icon: BusinessIcon,
};
export default resource;
Можно ли добавить пользовательские действия к ресурсу, в дополнение к списку, создавать, редактировать и показывать?
Я имею в виду, например, что я хочу, чтобы мои ресурсы поддерживались также в печати или в любых других действиях.
что-то вроде:
const resource = {
list: OrganizationList,
create: OrganizationCreate,
edit: OrganizationEdit,
show: OrganizationShow,
print: OrgnaizationPrint,
icon: BusinessIcon,
};
Ответ №1:
Ресурс позволяет определять компоненты для предопределенных маршрутов. Если вы хотите добавить дополнительные компоненты для маршрутов, не обрабатываемых react-admin, вы, вероятно, захотите переопределить <Admin customRoutes>
prop.
Чтобы зарегистрировать свои собственные маршруты, создайте модуль, возвращающий список компонентов react-router-dom <Route>
:
// in src/customRoutes.js
import * as React from "react";
import { Route } from 'react-router-dom';
import Foo from './Foo';
import Bar from './Bar';
export default [
<Route exact path="/foo" component={Foo} />,
<Route exact path="/bar" component={Bar} />,
];
Затем передайте этот массив в качестве опоры пользовательских маршрутов в <Admin>
компоненте:
// in src/App.js
import * as React from "react";
import { Admin } from 'react-admin';
import customRoutes from './customRoutes';
const App = () => (
<Admin customRoutes={customRoutes} dataProvider={simpleRestProvider('http://path.to.my.api')}>
...
</Admin>
);
export default App;
Взято из документации react-admin по адресу https://marmelab.com/react-admin/Admin.html#customroutes
Комментарии:
1. Спасибо! но как я могу передать реквизит? Я добавляю пользовательские маршруты = <Точный путь маршрута=»/организации/:идентификатор/представление» визуализация={() =><Точный путь маршрута=»/организации/:идентификатор/представление» визуализация={() =><Карточка организации />} /<Карточка организации />>
2. Ознакомьтесь с документацией react-router