Как удалить инициализации при изменении страницы в следующем JS

#javascript #reactjs #next.js

Вопрос:

Я пытаюсь использовать OneSignal для уведомлений, и они инициализируют его следующим образом….

 OneSignal.push(function () {
  OneSignal.init({
    appId: self.props.data.pushAppId,
    notifyButton: {
      enable: true,
    },
    allowLocalhostAsSecureOrigin: true,
  })
})
 

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

Как я могу (в componentWillUnmount, я предполагаю) удалить экземпляр, который уничтожается при изменении страницы.

Он будет удален при жестком обновлении других страниц, но при изменении маршрутизатора он не удаляется.

Спасибо

введите описание изображения здесь