Перенаправить / заменить URL Safari - PullRequest
0 голосов
/ 02 мая 2018

В жизни я, кажется, не могу понять это (я уверен, что выгоню себя, как только ответ будет опубликован, и он сразу заработает)

Я пытаюсь перенаправить пользователя, как только он нажмет Logout (звучит просто, я знаю). Но он просто отказывается перенаправить или перейти куда-либо в Safari 11, он работает практически во всех других браузерах, которые я тестировал.

Я использую ReactJs, который вызовет action. Смотрите код ниже:

На странице JSX:

    logout(e) {
    e.currentTarget.className += "preventDoubleClick";
    this.props.logout();
} //This pretty much just calls my action.

Тогда мой action выглядит так:

actions.logoutUser = function () {

    return dispatch => {
        dispatch(actions.sendUserDataToSegment("Logout")); //Dont worry about me, im for tracking
        window.location.replace("/Auth/Logout");
       return Promise.resolve();

    }
};

В каждой статье / форуме, которые я прочитал, говорится, что мне следует избегать использования window.location.replace, так как это не работает, но все, что я пытаюсь заменить, тоже не работает.

Пожалуйста, помогите мне, я схожу с ума от этой простой вещи. Кроме того, дайте мне знать, если мне нужно что-то прояснить в этом вопросе.

РЕДАКТИРОВАТЬ: Если я вручную введу https://0edca8c6.ngrok.io/Auth/Logout в адресную строку в Safari, он попадет на мои контроллеры и перенаправит: /

Заранее спасибо за ваше время!

Mike

1 Ответ

0 голосов
/ 02 мая 2018

Используйте history.push(); или history.replace(); или dispatch(push("url here"));

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...