{"action":"created","issue":{"url":"https://api.github.com/repos/rackt/react-router/issues/3051","repository_url":"https://api.github.com/repos/rackt/react-router","labels_url":"https://api.github.com/repos/rackt/react-router/issues/3051/labels{/name}","comments_url":"https://api.github.com/repos/rackt/react-router/issues/3051/comments","events_url":"https://api.github.com/repos/rackt/react-router/issues/3051/events","html_url":"https://github.com/rackt/react-router/issues/3051","id":132504033,"number":3051,"title":"proposal for <Match/>","user":{"login":"threepointone","id":18808,"avatar_url":"https://avatars.githubusercontent.com/u/18808?v=3","gravatar_id":"","url":"https://api.github.com/users/threepointone","html_url":"https://github.com/threepointone","followers_url":"https://api.github.com/users/threepointone/followers","following_url":"https://api.github.com/users/threepointone/following{/other_user}","gists_url":"https://api.github.com/users/threepointone/gists{/gist_id}","starred_url":"https://api.github.com/users/threepointone/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/threepointone/subscriptions","organizations_url":"https://api.github.com/users/threepointone/orgs","repos_url":"https://api.github.com/users/threepointone/repos","events_url":"https://api.github.com/users/threepointone/events{/privacy}","received_events_url":"https://api.github.com/users/threepointone/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":10,"created_at":"2016-02-09T19:08:11Z","updated_at":"2016-02-10T05:44:55Z","closed_at":null,"body":"Hi! Big fan of react-router, always learning new things from you folks. \r\n\r\nI started work on a router of my own recently - [routah](https://github.com/threepointone/routah), just to explore how I could render routes anywhere in the react tree. The big idea is - \r\n\r\n```jsx\r\n// 'render' this anywhere\r\n<Route path='/some/:pattern'>{\r\n  location => <div>you are at {location.pathname}</div>\r\n}</Route>\r\n\r\n```\r\n\r\nIt's been fun, and I see some obvious drawbacks - the ability to 'statically analyze' (so to speak) the tree is lost, which makes detecting redirects harder, and you can't declare static helpers for fetching async data etc, which clearly makes server rendering harder. That said, the above concept still works on client/server, and it strikes me that RR+the above could live together just fine. I propose thus, a component `Match` like so - \r\n\r\n```jsx\r\n\r\n<Match path={/* some regex */}>{\r\n  location => /* as above*/\r\n}</Match>\r\n\r\n\r\n// alternately \r\n\r\n<Match path={/* some regex */} component={MyAppComponent} passProps={/* ala RR */}/>\r\n```\r\n\r\nThis could simply read off `context.router` and render in place (my implementation here - https://github.com/threepointone/routah/blob/master/src/index.js#L133)\r\n\r\nThoughts? \r\n\r\nThanks again for a great lib!"},"comment":{"url":"https://api.github.com/repos/rackt/react-router/issues/comments/182208085","html_url":"https://github.com/rackt/react-router/issues/3051#issuecomment-182208085","issue_url":"https://api.github.com/repos/rackt/react-router/issues/3051","id":182208085,"user":{"login":"ryanflorence","id":100200,"avatar_url":"https://avatars.githubusercontent.com/u/100200?v=3","gravatar_id":"","url":"https://api.github.com/users/ryanflorence","html_url":"https://github.com/ryanflorence","followers_url":"https://api.github.com/users/ryanflorence/followers","following_url":"https://api.github.com/users/ryanflorence/following{/other_user}","gists_url":"https://api.github.com/users/ryanflorence/gists{/gist_id}","starred_url":"https://api.github.com/users/ryanflorence/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ryanflorence/subscriptions","organizations_url":"https://api.github.com/users/ryanflorence/orgs","repos_url":"https://api.github.com/users/ryanflorence/repos","events_url":"https://api.github.com/users/ryanflorence/events{/privacy}","received_events_url":"https://api.github.com/users/ryanflorence/received_events","type":"User","site_admin":false},"created_at":"2016-02-10T05:44:55Z","updated_at":"2016-02-10T05:44:55Z","body":"> I have a feeling that data loading on the server can be attacked from a different angle via a custom renderer\r\n\r\nHA! That's exactly what I've been tinkering with https://twitter.com/ryanflorence/status/696796876507467776"}}