如何在 admin-on-rest 中控制 admin reducer?

How to controll admin reducer in admin-on-rest?

如果我在文档中遗漏了这一部分,我很抱歉。

有什么方法可以发送操作来操纵 admin reducer 吗?

用例

我尝试创建自定义编辑并从服务器获取响应以更新 redux-store 上的实体,而无需每次都按刷新按钮

更新:

我对某些操作使用对话框,在单击 <List> 中的编辑按钮后会出现该对话框,我尝试做的是在 redux-store 中调度更新记录的操作 api 回应

const enhance = compose(
  withHandlers({
    onExit: ({ onClose }) => () => {
      onClose('addSection');
    },
  }),
  withHandlers({
    onSave: ({ onExit, id }) => values => {
      restClient(CREATE, 'sections', {
        data: {
          name: values.name,
          content: values.content,
          status: true,
          survey_id: id,
        },
      }).then(() => onExit());
    },
  }),
  branch(props => !props.isOpen, renderNothing),
);

const EditQuestionDialog = enhance(
  ({ isOpen, onExit, onSave, onChange, data }) => {
    return (
      <div>
        <Dialog open={isOpen} onRequestClose={onExit} modal>
          <SimpleForm save={onSave} redirect="list">
            <TextInput source="name" />
            <TextInput source="content" />
          </SimpleForm>
        </Dialog>
      </div>
    );
  },
);

好的,那么检查Edit组件的来源。

简而言之,您应该避免直接调用 restClient。在您的增强方法中,使用 redux connect 绑定 crudCreate 操作并在您的 onSave 处理程序中调用它。

这样,您将利用现有的 saga,它会负责为您更新商店。