Я чувствую себя довольно разочарованным в этом простом примере, потому что либо я чего-то не получаю, либо он работает не так, как я ожидаю, и так, как он говорит в документации.
Поэтому я пытаюсь расширить компонент CloneButton для фактического получения записи в каждой строке таблицы данных и передачи ее компоненту создания:
import React from 'react';
import PropTypes from 'prop-types';
import { CloneButton, useGetOne } from 'react-admin';
import CircularProgress from '@material-ui/core/CircularProgress';
const CloneQueryButton = ({
label = "Duplicate",
basePath,
record,
...props
}) => {
const { data, loading, error } = useGetOne(basePath, record.id);
if (loading) { return <CircularProgress />; }
if (error) { return <p>ERROR {error.message}</p>; }
if (data) {
console.log("inside", data);
data.name = `Copy of ${data.name}`;
}
console.log("outside", data);
return <CloneButton
basePath={basePath}
record={data}
label={label}
{...props} />
};
То, что я получаю на консоли, это просто outside null
Также, когда кнопка нажата он перенаправляет на страницу создания с пустым свойством record
.
Я вижу сетевой запрос, и все они возвращают действительные jsons. Я не понимаю, почему компонент явно не воспроизводится при получении ответа. Если кто-то увидит, чего мне не хватает, буду очень признателен!