【问题标题】:How to add more properties to resource in react-admin如何在 react-admin 中向资源添加更多属性
【发布时间】:2021-05-31 09:54:56
【问题描述】:

我正在与 reac-admin 合作, 根据demo,我为每个资源都有一个索引文件。 例如,这是我对组织资源的索引:

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

【问题讨论】:

    标签: react-admin


    【解决方案1】:

    资源允许为预定义的路由定义组件。如果您想为 react-admin 未处理的路由添加更多组件,您可能需要覆盖 <Admin customRoutes> 属性。

    要注册您自己的路由,请创建一个返回 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} />,
    ];
    

    然后,将此数组作为 customRoutes 属性传递给 &lt;Admin&gt; 组件:

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

    取自 https://marmelab.com/react-admin/Admin.html#customroutes 的 react-admin 文档

    【讨论】:

    • 谢谢!但是我怎样才能通过道具?我添加了一个自定义路由 = } />
    • 查看 react-router 文档
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-07-09
    • 2020-06-14
    • 1970-01-01
    • 1970-01-01
    • 2012-08-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多