10

是否可以在 react-admin 中禁用乐观 UI,或者是否可以在运行时配置?

4

2 回答 2

13

在 Edit 组件中禁用 undoable 属性:

<Edit undoable={false} title={<EditTitle />} actions={<EditActions />} {...props}>
于 2018-06-18T16:51:41.523 回答
0

如您所知undoable,不能在Create组件上设置。props如果您与Create页面不同而不是禁用它,这是一种处理乐观渲染的方法。

这是一个处理乐观渲染的例子<Show/>

const ItemShow = (props) => {
  const record = props;
  return (
    <Show
      {...props}
    >
      <ItemCreatedScreen />
    </Show>
  );
};

const ItemCreatedScreen = ({ record }) => {
  if (record.isFromCreatePage) {
    return <Loading />;
  } else {
    return <ItemView record={record} />;
  }
};

isFromCreatePage组件表单中的自定义道具Create应该可以帮助您确定道具是否确实来自“创建”页面。

Optimistic Rendering 会在几秒钟后将请求发送到 API,同时 UI 可以显示<Loading/>标志,我可能会添加很短的持续时间。之后,请求从服务器获取数据,然后可以将其传递到<ItemView/>页面。

于 2020-05-28T08:00:27.397 回答