Ra-data-simple-rest не работает | ОШИБКА: total не является числом, а newRecords.forEach не является функцией - PullRequest
0 голосов
/ 10 марта 2020

Я пытаюсь следовать этому уроку, и теперь я нахожусь в той части, где я должен реализовать свой собственный REST-API. Мой формат идентичен необходимому формату, описанному в руководстве. Вот мой ответ: Ответ от моего API

Необходимый формат выглядит так:

// {
//     data: [
//         { id: 126, title: "allo?", author_id: 12 },
//         { id: 127, title: "bien le bonjour", author_id: 12 },
//         { id: 124, title: "good day sunshine", author_id: 12 },
//         { id: 123, title: "hello, world", author_id: 12 },
//         { id: 125, title: "howdy partner", author_id: 12 },
//     ],
//     total: 27
// }

Но по какой-то причине я всегда получаю ошибку, которая (1) Всего не число, но почтальон говорит, что это так. И (2) что newRecords.forEach не является функцией.

´´´

//App.js
import logo from './logo.svg';
import React from 'react';
import { Admin, Resource, ListGuesser } from 'react-admin';
import simpleRestProvider from 'ra-data-simple-rest';
import styles from './App.css';
import SimpleFlow from './diagramm';
import { RuleList, PostList} from './rules';

//http://jsonplaceholder.typicode.com'
const dataProvider = simpleRestProvider('http://localhost:3000/api');
const App = () =>
    <Admin dataProvider={dataProvider} dashboard={SimpleFlow}>
        <Resource name="rules" list={RuleList} />
    </Admin>;

export default App;

´´´

´´´

//rules.js
import React from 'react';
import { List, Datagrid, TextField, EmailField, DateField, Pagination } from 'react-admin'; 

export const RuleList = (props) => (
    <List {...props} perPage={25}>
        <Datagrid rowClick="edit">
            <TextField source="id" />
            <TextField source="Bezeichnung" />
        </Datagrid>
    </List>

);

'''

Ответы [ 2 ]

0 голосов
/ 28 апреля 2020

Проблема связана с форматом образца данных, в этом случае ваш API Respose это объект, но вместо этого он должен быть массивом. Как это:

[
     { id: 126, title: "allo?", author_id: 12 },
     { id: 127, title: "bien le bonjour", author_id: 12 },
     { id: 124, title: "good day sunshine", author_id: 12 },
     { id: 123, title: "hello, world", author_id: 12 },
     { id: 125, title: "howdy partner", author_id: 12 }
]
0 голосов
/ 10 марта 2020

возможно, вы пытаетесь отобразить данные, когда они все еще извлекаются. && отобразить данные

...