reactjs Ereignis-listener beforeunload Hinzugefügt, aber nicht entfernt

Ich habe einen reagieren Komponente 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 Ereignis-lister zur Komponente Hinzugefügt. Wenn ich die Seite aktualisieren, es gibt mir die pop-up-Fragen, um die Seite verlassen.

Aber wenn ich auf einer anderen Seite, und aktualisieren Sie es zeigt wieder die gleichen pop-up.

Ich bin das entfernen die eventListener von der Komponente auf componentWillUnmount . Dann, warum es nicht entfernt wird

Wie kann ich entfernen Sie die beoreunload event auf anderen Seiten ?

InformationsquelleAutor der Frage gamer | 2016-08-23

Schreibe einen Kommentar