React-admin 3.0 не выделяет саги, и вы можете просто связать вызовы поставщиков данных, используя Promise, возвращающий хук useDataProvier, как описано в документации response-admin (https://marmelab.com/react-admin/Actions.html):
import React from 'react';
import { useDataProvider, useNotify, useRedirect, Button } from 'react-admin';
const ApproveButton = ({ record }) => {
const notify = useNotify();
const redirect = useRedirect();
const dataProvider = useDataProvider();
const approve = () => dataProvider
.update('comments', { id: record.id, data: { isApproved: true } })
.then(response => {
// call the data provider again here
data.provider.getMany('...')
})
.catch(error => {
// failure side effects go here
notify(`Comment approval error: ${error.message}`, 'warning');
});
return <Button label="Approve" onClick={approve} />;
};
Демонстрационный пример react-admin показывает, как получить несколько ресурсов для заполнения сложной страницы (приборной панели), и это должно быть хорошим источником вдохновения для вашего варианта использования:
https://github.com/marmelab/react-admin/blob/master/examples/demo/src/dashboard/Dashboard.tsx