Как добавить пользовательское поведение в кнопку назад браузера?

Я использую сервис визуализации внешних данных и связал его контент с маршрутами. Так, например, "/ Scorecard" будет отображать рапорт Scorecard, который содержится в объекте службы визуализации данных.

Я использую React с реакции-маршрутизатор-дом.

Хитрость заключается в том, что я не изменяю свой компонент React на основе этих маршрутов, поскольку я не хочу повторно создавать экземпляр визуализации данных каждый раз, когда пользователь изменяет страницу. Итак, что изменилось, так это сам маршрут, и я вызываю API для изменения отчета (проверьте код ниже, например)

Я попытался событие window.onbeforeunload без успеха, так как я не меняю страницу. Я не хочу заменять ожидаемое поведение кнопки "Назад", но добавляю дополнительный вызов API для возврата к предыдущему отчету.

onButtonClick = (dashboardName) => {
    if (this.props.currentViz) { //check if external API object is instantiated
        this.props.history.push(dashboardName);     

        this.props.currentViz
            .getWorkbook()
            .activateSheetAsync(dashboardName);
    };
};

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

Есть идеи, чтобы решить это?

0 ответов

Другие вопросы по тегам