Лучше всего сделать это на бэкэнде, возможно, с поддержкой транзакций, но если вы не можете, один из способов go на стороне реагирования-администратора - это украсить dataProvider. *
const userSaverDataProvider = dataProvider => ({
...dataProvider,
create: async (resource, params) => {
if (resource === 'users') {
const profile = await dataProvider.create('profile', {data: {
name: params.data.name,
....
}})
await dataProvider.create('address', {data: {
profileID: profile.data.id,
street: params.data.street,
...
}})
return profile
}
return dataProvider.create(resource, params)
}
})
Возможно, необходимо также украсить createMany, если вы делаете массовое создание пользователей в react-admin. Кроме того, оформление заказа https://github.com/FusionWorks/react-admin-google-maps, может быть полезно