{"action":"opened","issue":{"url":"https://api.github.com/repos/reactjs/react-router/issues/3422","repository_url":"https://api.github.com/repos/reactjs/react-router","labels_url":"https://api.github.com/repos/reactjs/react-router/issues/3422/labels{/name}","comments_url":"https://api.github.com/repos/reactjs/react-router/issues/3422/comments","events_url":"https://api.github.com/repos/reactjs/react-router/issues/3422/events","html_url":"https://github.com/reactjs/react-router/issues/3422","id":152572525,"number":3422,"title":"Async onLeave and quiet `push`","user":{"login":"deser","id":3010698,"avatar_url":"https://avatars.githubusercontent.com/u/3010698?v=3","gravatar_id":"","url":"https://api.github.com/users/deser","html_url":"https://github.com/deser","followers_url":"https://api.github.com/users/deser/followers","following_url":"https://api.github.com/users/deser/following{/other_user}","gists_url":"https://api.github.com/users/deser/gists{/gist_id}","starred_url":"https://api.github.com/users/deser/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/deser/subscriptions","organizations_url":"https://api.github.com/users/deser/orgs","repos_url":"https://api.github.com/users/deser/repos","events_url":"https://api.github.com/users/deser/events{/privacy}","received_events_url":"https://api.github.com/users/deser/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":0,"created_at":"2016-05-02T15:04:50Z","updated_at":"2016-05-02T15:04:50Z","closed_at":null,"body":"Hi Guys,\r\nI'm trying to implement asynchronous onLeave. The code looks like:\r\n```\r\ncomponentDidMount () {\r\n        let router = this.context.router;\r\n        router.setRouteLeaveHook(this.props.route, nextLocation => {\r\n            this.onLeave().then(() => {\r\n                router.push(nextLocation);\r\n            }).catch(() => {\r\n                router.push(nextLocation);\r\n            });\r\n\r\n            return false;\r\n        });\r\n}\r\n```\r\n\r\nThe problem here is that `router.push` isn't quiet (it throws events) and this leave hook is calling recursively. So my question is: does react-router have quiet method for changing location? I read docs but I didn't see such ability. \r\nThanks!\r\n\r\n\r\n "}}