如何在admin-on-rest中控制管理员减少器?

时间:2017-09-28 07:04:27

标签: admin-on-rest

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

我有什么方法可以发出动作来操纵admin reducer

用例

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

更新

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

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>
    );
  },
);

1 个答案:

答案 0 :(得分:0)

好的,然后检查Edit组件的来源。

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

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