Реагировать роутер условно по маршруту или открыть модал - PullRequest
0 голосов
/ 16 марта 2020

Я использую React Router для обработки маршрутизации, и для некоторых представлений требуется, чтобы пользователь вошел в систему, чтобы быть доступным. Я использовал реакционный маршрутизатор Redirect для условной обработки моих представлений, и это работало нормально, например:

<Route exact path="/register">
    {cookies.login_status === 'valid' ? <Register /> : <Redirect to="/" />}
</Route>

Теперь, однако, мне нужно визуализировать представление, если выполняется условие, или открыть модальное вместо маршрутизации. Прямо сейчас мой маршрут выглядит следующим образом:

<Route exact path="/register">
    {cookies.login_status === 'valid' ? <Register /> : openModal}
</Route>

Если условие выполнено, я загружаю компонент вида, а если нет, я вызываю функцию, чтобы открыть модал. Модал открывается просто отлично, но и пустой вид подается.

Итак, я думаю, мой вопрос заключается в том, как я могу остановить его от маршрутизации / перенаправления, если условие не выполняется, и просто открыть модальное окно в текущем представлении?

1 Ответ

0 голосов
/ 16 марта 2020

Почему бы не использовать подобный модальный реквизит и открыть модал из компонента Регистрация?

<Route exact path="/register">
    <Register modal={cookies.login_status === 'valid'} />
</Route>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...