React-Admin“获取列表”数据提供者

问题描述 投票:2回答:1

我开始使用react-admin软件包。因为我想用另一个Select的数据创建一个Resource,所以我的开发受阻。这就是为什么我使用ReferenceField,但我不知道为什么在使用此元素时会收到此错误。

Error: The response to 'GET_LIST' must be like { data : [{ id: 123, ...}, ...] }, but at least one received data item do not have an 'id' key. The dataProvider is probably wrong for 'GET_LIST

这里是我从API收到的数据:

[{"_id":"5e3ec3baa6480d002b24ea90","name_promo":"test","years":"2019-01-01T00:00:00.000Z","__v":0}]

有关信息,我使用提供者ra-data-json-server

这是我的代码:

import React from 'react';
import {
    Create,
    SimpleForm,
    TextInput,
    ReferenceInput,
    SelectInput,
} from 'react-admin';

const CreateUser = (props) => (
    <Create {...props}>
        <SimpleForm>
            <TextInput source="lastName" label="Prénom" />
            <TextInput source="firstName" label="Nom" />
            <TextInput source="email" label="Email" />
            <TextInput source="role" label="Role" />
            <ReferenceInput  label="Session" source="id" reference="sessions"  >
                <SelectInput optionText="name_promo"/>
            </ReferenceInput >
        </SimpleForm>
    </Create>
);

export default CreateUser;
reactjs react-admin
1个回答
0
投票

您的数据是从API返回的,其ID字段名为"_id",而不是必需的"id"

我们通过将以下内容添加到我们的(python)API中解决了这个问题。

myData = mongo.get(...)
for x in myData:
    x['id'] = x['_id']  // Now each record has both '_id' and 'id'
return {'data': myData}, HTTPStatus.CREATED
© www.soinside.com 2019 - 2024. All rights reserved.