Можно ли отключить оптимистичный пользовательский интерфейс в react-admin или его можно настроить во время выполнения?
Как отключить оптимистичные обновления пользовательского интерфейса в react-admin?
Ответы (2)
Отключить отменяемое свойство в компоненте редактирования:
<Edit undoable={false} title={<EditTitle />} actions={<EditActions />} {...props}>
person
Aigars Matulis
schedule
18.06.2018
есть ли способ установить
undoable={false}
для всех форм глобально? Спасибо
- person Michail Michailidis; 07.09.2018
создайте свой собственный компонент на основе компонента Edit и установите для свойства undoable значение false по умолчанию
- person Aigars Matulis; 07.09.2018
да, я подумал об этом, я ожидал, что могу просто передать undoable = {false} в ‹Admin›
- person Michail Michailidis; 08.09.2018
Если вы хотите, чтобы ваша отключаемая функция всегда была ложной, создайте компонент Edit с отменяемыми реквизитами, установленными на false, и вместо того, чтобы постоянно импортировать компонент Edit из react-admin, вы импортируете только что созданный компонент Edit.
- person François Alexandre COLOMBANI; 26.02.2019
Я хочу также отключить оптимизированный рендеринг для страницы Show, но передача
undoable={false}
не работает.
- person tjgragg; 25.04.2019
Как вы знаете, 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
должна помочь вам решить, действительно ли опора со страницы создания.
Оптимистичный рендеринг отправит запрос в API через несколько секунд, между тем пользовательский интерфейс может отображать знак <Loading/>
, который, я мог бы добавить, на очень короткий промежуток времени. После этого запрос получает данные с сервера, которые могут быть переданы на страницу <ItemView/>
.
person
Ananth George
schedule
28.05.2020