ReactのcomponentWillUnmountでbeforeunload的なことがしたい


Reactでbeforeunloadを使いたいのですが、windowのスコープの範囲に収まらないbeforeunloadイベントを拾えないため、componentWillUnmountが呼ばれたタイミングでconfirm関数を呼び、キャンセルされればcomponentWillUnmountをpreventしたいです。  
やりたいことは以下のような感じです。

[code]

    componentWillUnmount: function(e) {
      var result = confirm('遷移してもよろしいですか？');
      if (!result) {
        // prevent unmount
      }
    },
    
[/code]




componentDidMountの時listenerを追加で、componentWillUnmountの時外せばいいと思います。

[code]

    onUnload(event) {
      var result = confirm('遷移してもよろしいですか？');
      if (!result) {
        // prevent unmount
      }　　　　
    　
    }
    
    componentDidMount() {
       window.addEventListener("beforeunload", this.onUnload)
    }
    
    componentWillUnmount() {
        window.removeEventListener("beforeunload", this.onUnload)
    }
    
[/code]




componentDidMountの時listenerを追加で、componentWillUnmountの時外せばいいと思います。

[code]

    onUnload(event) {
      var result = confirm('遷移してもよろしいですか？');
      if (!result) {
        // prevent unmount
      }　　　　
    　
    }
    
    componentDidMount() {
       window.addEventListener("beforeunload", this.onUnload)
    }
    
    componentWillUnmount() {
        window.removeEventListener("beforeunload", this.onUnload)
    }
    
[/code]

