не получается установить PWA по клику на кнопку
У меня приложение на React. Моя задача - реализовать установку PWA приложения по клику на кнопку. Проблема - не срабатывает событие beforeinstallprompt. При этом, когда я перехожу в меню браузера и выбираю "добавить на рабочей стол" - приложение устанавливается.
Буду благодарен любым идеям.
код:
import React, {useState, useEffect } from 'react';
const styles = {
width:'100px',
height:'50px',
textAlign: 'center',
position: 'absolute',
top:0,
left:0,
transform: 'translate(50%,50%)'
};
const Test = () => {
const [supportsPWA, setSupportsPWA] = useState(false);
const [promptInstall, setPromptInstall] = useState(null);
useEffect(() => {
console.log('in use')// выводит в консоль
const handler = e => {
console.log('in handler') // не выводит в консоль
e.preventDefault();
setSupportsPWA(true);
setPromptInstall(e);
};
window.addEventListener("beforeinstallprompt", handler);
return () => window.removeEventListener("transitionend", handler);
}, []);
const onClick = e => {
alert('click')
e.preventDefault();
if (promptInstall) {
promptInstall.prompt();
}else{
return;
};
};
return (
supportsPWA && (<button style={styles} onClick={(e) => onClick(e)}>Install</button>)
)
};
export default Test;
Ответы (1 шт):
Автор решения: Igor Nerovnyi
→ Ссылка
проблема решена, у меня был еще один слушатель beforeinstallprompt