创建记录后,我想立即触发操作以使用在react-admin中创建的记录的新ID。
最好的方法是什么?
以下是基于the props you can pass to SimpleForm/TabbedForm和this issue by one of the project maintainers的一些想法。
save
函数。toolbar
和“保存”按钮,尝试将其钩在那里。redirect
的属性重定向到我在新ID上进行工作的临时页面。或者,
还有其他想法吗?
答案 0 :(得分:1)
您可以创建一个自定义的传奇,并处理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