React admin: подтверждение сообщения при переключении маршрута - PullRequest
0 голосов
/ 03 сентября 2018

Я хочу запретить пользователям выходить из компонента CreateVacancy, предупреждая их о несохраненных изменениях.

Работа с @@router/LOCATION_CHANGE с помощью Redx Saga мало поможет, потому что действие уже отправлено, и переключение страниц произойдет в любом случае.

Сложность с React Admin в том, что у меня нет доступа к <Route/> компоненту напрямую. В противном случае я бы использовал onLeave опору Route для достижения своей цели.

Мне нужно как-то отследить предыдущее местоположение (/vacancy/create) и запретить пользователям выходить на любой другой маршрут без confirm ing.

Что бы вы порекомендовали? Спасибо.

1 Ответ

0 голосов
/ 04 сентября 2018

Я думаю, что это может быть отличной функцией запроса. Можете ли вы создать его в нашем хранилище? В то же время, поскольку мы используем react-router, вы, вероятно, можете использовать его Prompt компонент:

import { Prompt } from 'react-router';

const PostCreate = props => (
    <Fragment>
          <Prompt message="Are you sure you want to leave?" />
          <Create {...props}>
              ...
          </Create>
    </Fragment>
)

Я не проверял это, но оно должно работать. Если вам нужно настроить диалог дальше, взгляните на эту статью

...