首页 > 解决方案 > 如何捕获在 react-admin 中创建的记录的新 ID?

问题描述

我想在创建记录后立即触发一个操作以使用在 react-admin 中创建的记录的新 ID。

最好的方法是什么?

以下是一些基于您可以传递给 SimpleForm/TabbedForm 的道具的想法以及项目维护者之一的这个问题

或者,

还有其他想法吗?

标签: javascriptreactjsreact-admin

解决方案


您可以创建自定义 saga 并处理 CRUD_CREATE_SUCCESS 操作: https ://marmelab.com/react-admin/Actions.html#custom-sagas

createSuccessSaga.js

import {
  put,
  takeEvery,
} from 'redux-saga/effects'

import {
  CRUD_CREATE_SUCCESS,
} from 'react-admin'

function* createSuccess(action) {
  try {                        
    console.log('createSuccess:', action) // action.payload.data.id -> Record ID     
    yield put('you action')              
  } catch (error) {
    console.log('createSuccess:', error) 
  }
}

function* createSuccessSaga() {
  yield takeEvery(CRUD_CREATE_SUCCESS, createSuccess) 
}

export default createSuccessSaga

推荐阅读