{"action":"created","issue":{"url":"https://api.github.com/repos/ReactTraining/react-router/issues/4629","repository_url":"https://api.github.com/repos/ReactTraining/react-router","labels_url":"https://api.github.com/repos/ReactTraining/react-router/issues/4629/labels{/name}","comments_url":"https://api.github.com/repos/ReactTraining/react-router/issues/4629/comments","events_url":"https://api.github.com/repos/ReactTraining/react-router/issues/4629/events","html_url":"https://github.com/ReactTraining/react-router/issues/4629","id":211885234,"number":4629,"title":"Add `listen` prop","user":{"login":"wmertens","id":54934,"avatar_url":"https://avatars1.githubusercontent.com/u/54934?v=3","gravatar_id":"","url":"https://api.github.com/users/wmertens","html_url":"https://github.com/wmertens","followers_url":"https://api.github.com/users/wmertens/followers","following_url":"https://api.github.com/users/wmertens/following{/other_user}","gists_url":"https://api.github.com/users/wmertens/gists{/gist_id}","starred_url":"https://api.github.com/users/wmertens/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/wmertens/subscriptions","organizations_url":"https://api.github.com/users/wmertens/orgs","repos_url":"https://api.github.com/users/wmertens/repos","events_url":"https://api.github.com/users/wmertens/events{/privacy}","received_events_url":"https://api.github.com/users/wmertens/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":26,"created_at":"2017-03-04T15:16:57Z","updated_at":"2017-03-07T01:05:00Z","closed_at":null,"body":"In v2.0.0-beta.7, routes no longer listen to history events. That works fine in many cases, but when intermediary components implement sCU, that means routes no longer apply.\r\n\r\nThis is easy to encounter when you e.g. implement a composable master/detail view with relative routes.\r\n\r\nThe official way to be updated when the location changes is through providing the `location` prop, but that is quite a lot of work: You need to get the location from the `Router` component, store it somewhere (e.g. Redux) and then retrieve it and pass it to the route as a prop.\r\n\r\nIt would be much simpler if instead you could just say `<Route listen .../>` and it would listen to history like before. Very little code, very low overhead, and once the `context` API becomes sane, it will no longer be necessary."},"comment":{"url":"https://api.github.com/repos/ReactTraining/react-router/issues/comments/284587282","html_url":"https://github.com/ReactTraining/react-router/issues/4629#issuecomment-284587282","issue_url":"https://api.github.com/repos/ReactTraining/react-router/issues/4629","id":284587282,"user":{"login":"matthewrobb","id":387251,"avatar_url":"https://avatars0.githubusercontent.com/u/387251?v=3","gravatar_id":"","url":"https://api.github.com/users/matthewrobb","html_url":"https://github.com/matthewrobb","followers_url":"https://api.github.com/users/matthewrobb/followers","following_url":"https://api.github.com/users/matthewrobb/following{/other_user}","gists_url":"https://api.github.com/users/matthewrobb/gists{/gist_id}","starred_url":"https://api.github.com/users/matthewrobb/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/matthewrobb/subscriptions","organizations_url":"https://api.github.com/users/matthewrobb/orgs","repos_url":"https://api.github.com/users/matthewrobb/repos","events_url":"https://api.github.com/users/matthewrobb/events{/privacy}","received_events_url":"https://api.github.com/users/matthewrobb/received_events","type":"User","site_admin":false},"created_at":"2017-03-07T01:05:00Z","updated_at":"2017-03-07T01:05:00Z","body":"@mjackson I don't disagree with you at all. It really is a tough problem. I'd argue that context is wholly broken for anything OTHER THAN rule-breaking magic.\r\n\r\nThis conversation just leads me to want to have an imperative Router that is treated like any other data store. If it should be passed down than let users do so using a <Provider/>. Right now it seems like <Router/> is a glorified private state holder and (via context) distributor. But there exists a stronger convention for this already: modules."}}
{"actor":{"display_login":"matthewrobb"}}