Как отключить кнопку возврата браузера только для указанного компонента c - PullRequest
0 голосов
/ 04 марта 2020

У меня есть 3 компонента: Рабочая область входа в Dashboard

Как только пользователь успешно войдет в систему, он перейдет к Dashboard. С приборной панели он попадает в рабочее пространство. условие: 1. После входа в систему при переходе на панель мониторинга пользователь должен иметь возможность go вернуться на страницу входа в систему, нажав кнопку браузера назад. 2. Но он может перемещаться назад из рабочего пространства на панель инструментов .

Я упоминал этот вопрос, чтобы решить мою проблему

Задача: условие 2 не выполнено. после перехода из панели мониторинга в рабочую область я не могу вернуться обратно на панель мониторинга, нажав кнопку браузера назад.

Код входа

login(newUser).then(res => { 

                if(res === "NULL")                        
                {
                    this.setState({confirmPswdShow: true});
                }else if(res === "wrongPassword")          
                {
                    const password ="password invalid";
                    this.setState({authPassword : password});
                }else{                                       
                   window.history.pushState(null, null, window.location.href);
                    window.onpopstate = function(event) {
                        window.history.go(1);
                    };              
                    this.props.history.push("/Dashboard");
                }
            })

код панели управления

openProjectCreate(details){
        console.log(details);
        openProject(details)
        .then(res => {
            console.log(res);
            this.props.history.push("/WorkSpace");
        })
    }

1 Ответ

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

Вы не должны перезаписывать всплывающую функциональность в окне. Чтобы отключить вход в систему, просто замените его URL в истории:

login(newUser).then(res => {
    if (res === "NULL") {
        this.setState({
            confirmPswdShow: true
        });
    } else if (res === "wrongPassword") {
        const password = "password invalid";
        this.setState({
            authPassword: password
        });
    } else {
        this.props.history.replace({
            pathname: '/Dashboard'
        });
        this.props.history.push("/Dashboard");
    }
})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...