reactjs Ereignis-Listener beforeunload hinzugefügt, aber nicht entfernt

Ich habe eine Reaktionskomponente wie:

import React, { PropTypes, Component } from 'react'


class MyComponent extends Component {

    componentDidMount() {
       window.addEventListener("beforeunload", function (event) {
            console.log("hellooww")
            event.returnValue = "Hellooww"
        })
    }

    componentWillUnmount() {
        window.removeEventListener("beforeunload", function (event) {
            console.log("hellooww")
            event.returnValue = "Hellooww"
        })
    }

    render() {

        return (
            <div>
                Some content
            </div>
        )
    }

}

export default MyComponent

Hier Event Lister wird der Komponente hinzugefügt. Wenn ich die Seite aktualisiere, werde ich aufgefordert, die Seite zu verlassen.

Aber wenn ich zu einer anderen Seite gehe und sie erneut aktualisiere, wird dasselbe Popup angezeigt.

Ich entferne daseventListener von der Komponente aufcomponentWillUnmount. Warum wird es dann nicht entfernt?

Wie kann ich das @ entfernebeforeunload Event auf anderen Seiten?

Antworten auf die Frage(4)

Ihre Antwort auf die Frage