Как создать ссылку на другой ресурс в сетке данных?

В руководстве (https://marmelab.com/admin-on-rest//Tutorial.html), вы можете увидеть, как ссылаться на другой объект (т. е. сообщение ссылается на пользователя)

Это привело к тому, что для отображения имени пользователя требуется еще один XHR.

Если мой REST API возвращает что-то вроде

{
"id": 1,
"userId": 1,
"userName": "John Doe",
"title": "sunt aut facere repellat provident occaecati excepturi optio reprehenderit",
"body": "quia et suscipit\nsuscipit recusandae consequuntur expedita et cum\nreprehenderit molestiae ut ut quas totam\nnostrum rerum est autem sunt rem eveniet architecto"
}

Как я могу напрямую отображать свойство userName как ссылку на пользовательский ресурс БЕЗ выполнения XHR?

Нужно ли мне создавать что-то вроде InlinedReferenceField?


person Christophe Blin    schedule 13.03.2018    source источник


Ответы (1)


Почему бы вам не попробовать:

import { Link } from 'react-router-dom';
const UserLinkField = ({ record }) => (
    <Link to={`/users/${record.userId}`}>
        {record.userName}
    </Link>
);

Затем использовать <UserLinkField> в Datagrid?

person François Zaninotto    schedule 20.03.2018
comment
Извините, я пропустил ваш ответ, который работает. Я попытаюсь обобщить его, чтобы иметь InlinedReferenceField, о котором я говорил - person Christophe Blin; 27.03.2018