Я следую этому руководству для создания пользовательских действий в React-admin (бывший Admin-on-rest): с помощью создателя пользовательских действий .
Однако после его реализации мойкод ничего не делает, т.е. бэкэнд не вызывается.
Я предполагаю, что в документации отсутствует способ связать действие с dataProvider, если только он не обрабатывается автоматически.
Это правильно?Нет необходимости ссылаться на dataProvider, который отличается от того, что было сделано в примере выборки?
Следующие фрагменты моего кода:
UpdatePage очень похож на ApproveButton вучебник:
// Update Page.js
import React, { Component } from 'react';
import PropTypes from 'prop-types';
import { connect } from 'react-redux';
import { updatePage } from '../../actions/pages';
import Button from '@material-ui/core/Button';
class UpdatePage extends Component {
handleClick = () => {
const { record } = this.props;
updatePage(record.id, record);
}
render() {
return <Button disabled={this.props.disabled} onClick={this.handleClick}>Confirmar</Button>;
}
}
UpdatePage.propTypes = {
disabled: PropTypes.bool.isRequired,
updatePage: PropTypes.func.isRequired,
record: PropTypes.object,
};
export default connect(null, {
updatePage
})(UpdatePage);`
Действия для страницы обновления (как в комментарии к действиям учебника):
//in ../../actions/pages.js
import { UPDATE } from 'react-admin';
export const UPDATE_PAGE = 'UPDATE_PAGE';
export const updatePage = (id, data) => ({
type: UPDATE_PAGE,
payload: { id, data: { ...data, is_updated: true } },
meta: { fetch: UPDATE, resource: 'pages' },
});