首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在我的项目中使用admin-on-rest

在我的项目中使用admin-on-rest
EN

Stack Overflow用户
提问于 2017-11-23 16:16:00
回答 3查看 126关注 0票数 0

我正在实现一个管理工具网站,我正在使用材料的ui为此。我使用redux saga来处理异步调用(用于调用服务)。rest上的管理员有一些非常有用的组件,比如dataGrid。但是使用它们并不像我想的那么简单。最初,为了使用它,您应该将应用程序包装在Admin组件中,就像这样:

代码语言:javascript
复制
const App = () => (
    <Admin restClient={simpleRestClient('http://path.to.my.api/')}>
        <Resource name="posts" list={PostList} />
    </Admin>
);

根据我在文档中的理解,restClient属性是强制的。我想要使用前面提到的DataGrid组件,但是当我尝试使用它时,出现一个错误,显示在库的mapStateToPros函数中未定义资源。我一定是漏掉了什么很重要的东西。但是我发现仅仅使用外部库是非常复杂的。之前有人使用过这个库,并为我提供了一些帮助。我只需要使用数据网格。非常感谢

EN

回答 3

Stack Overflow用户

发布于 2017-11-23 16:20:33

Admin-on-rest不是一个UI库。它是一个管理框架,旨在作为一个整体使用。有很多React datagrids库。如果您不需要完整的Admin,请不要使用admin-on-rest

票数 1
EN

Stack Overflow用户

发布于 2017-11-23 16:21:44

如果您只需要Datagrid,只需使用Material UI中的Table组件即可。

票数 0
EN

Stack Overflow用户

发布于 2017-11-23 19:34:39

你确定你没有忘记从'admin-on-rest‘导入一些东西吗?

你的应用程序应该这样声明(一些代码遗漏了):

代码语言:javascript
复制
import React, { Component } from 'react';
import { jsonServerRestClient, Admin, Resource } from 'admin-on-rest';

const restClient = jsonServerRestClient('http://localhost:8000')

class App extends Component {
    render() {
        return (
            <Admin restClient={restClient} >
                <Resource name="vendors" list={VendorList} />
            </Admin>
        );
    }
}

VendorList应该像这样声明:

代码语言:javascript
复制
import React from 'react';
import { List, Datagrid, TextField } from 'admin-on-rest'

export const VendorList = (props) => (
    <List {...props}>
        <Datagrid>
            <TextField source="id" />
            <TextField source="name" />
            <TextField source="description" />
        </Datagrid>
    </List>
);

在这个例子中,它将是从http://localhost:8000/vendors获取数据,我在使用admin-on-rest时从来没有遇到过麻烦(可能只有在使用django-rest后端时才会遇到)。但一切都解决了。)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47450551

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档