Задать вопрос
@Holyxey

Telegram Mini App — почему BottomButton кнопки дублируют события?

Привет! Может кто подсказать, Telegram Mini App - нижние системные кнопки дублируют события.

От страницы к странице пока ходишь, они собирают колбэки и потом пачкой выдают при нажатии, ни отключение, ни offClick, ничего не помогает чистить.

Nuxt.
  • Вопрос задан
  • 54 просмотра
Подписаться 1 Средний Комментировать
Решения вопроса 1
@Holyxey Автор вопроса
Решил. Если кому актуально будет:

// Можно в onUnmounted() добавить сброс с вашим коллбэком.
window.Telegram.WebApp.MainButton.offClick(/*same_callback*/)


// Как вариант можно создать массивы состояний под кнопки и чистить их по нужде
//....
const stateMainButton = useState<(() => void)[]>('mainButtonAction', () => []);
const stateSecondaryButton = useState<(() => void)[]>('secondaryButtonAction', () => []);

stateMainButton.value.forEach((handler) => $tg.MainButton.offClick(handler));
stateSecondaryButton.value.forEach((handler) => $tg.SecondaryButton.offClick(handler));

stateMainButton.value = [];
stateSecondaryButton.value = [];
//...
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы