我目前正在关注ra-data-graphql-simple
文档https://github.com/marmelab/react-admin/tree/master/packages/ra-data-graphql-simple,以将RA应用程序连接到django-graphene后端。最初的目标是列出指定模型的所有记录:
App.js
class App extends Component {
constructor() {
super();
this.state = { dataProvider: null };
}
componentDidMount() {
buildGraphQLProvider({ clientOptions: { uri: 'http://mysite:8000/graphql/' }})
.then(dataProvider => this.setState({ dataProvider }));
}
render() {
const { dataProvider } = this.state;
if (!dataProvider) {
return <div>Loading</div>;
}
return (
<Admin dataProvider={dataProvider}>
<Resource name="model" list={ModelList} />
</Admin>
);
}
}
Modellist JSX:
export const ModelList = (props) => {
const isSmall = useMediaQuery(theme => theme.breakpoints.down('sm'));
return (
<List >
{isSmall ? (
<SimpleList
primaryText={record => record.id}
secondaryText={record => `${record.name} views`}
tertiaryText={record => new Date(record.anno).toLocaleDateString()}
/>
) : (
<Datagrid>
<TextField source="id" />
<TextField source="name" />
<TextField source="anno" />
<EditButton />
</Datagrid>
)}
</List>
);
}
RIght现在react-admin仅显示组件的“正在加载...”部分,并且对API的请求给出了其自身的完整架构。据我了解,当您在RA返回jsx中声明一个<Resource name="model">
时,它将在API端点中找到该模型的所有记录,但是该记录不包含任何数据,仅包含模式。
我缺少什么?