{"action":"opened","issue":{"url":"https://api.github.com/repos/exponentjs/react-native-invertible-scroll-view/issues/14","labels_url":"https://api.github.com/repos/exponentjs/react-native-invertible-scroll-view/issues/14/labels{/name}","comments_url":"https://api.github.com/repos/exponentjs/react-native-invertible-scroll-view/issues/14/comments","events_url":"https://api.github.com/repos/exponentjs/react-native-invertible-scroll-view/issues/14/events","html_url":"https://github.com/exponentjs/react-native-invertible-scroll-view/issues/14","id":110759037,"number":14,"title":"Simplifying InvertibleScrollView","user":{"login":"ktoh","id":2960303,"avatar_url":"https://avatars.githubusercontent.com/u/2960303?v=3","gravatar_id":"","url":"https://api.github.com/users/ktoh","html_url":"https://github.com/ktoh","followers_url":"https://api.github.com/users/ktoh/followers","following_url":"https://api.github.com/users/ktoh/following{/other_user}","gists_url":"https://api.github.com/users/ktoh/gists{/gist_id}","starred_url":"https://api.github.com/users/ktoh/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ktoh/subscriptions","organizations_url":"https://api.github.com/users/ktoh/orgs","repos_url":"https://api.github.com/users/ktoh/repos","events_url":"https://api.github.com/users/ktoh/events{/privacy}","received_events_url":"https://api.github.com/users/ktoh/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":0,"created_at":"2015-10-10T01:17:56Z","updated_at":"2015-10-10T01:17:56Z","closed_at":null,"body":"I like this library, but feel like it could be more useful if it encapsulated more of the component setup.\r\n\r\nI think the majority of those looking to use invertible scroll views are simply looking for a way to get a `<ScrollView>` or `<ListView>` component with reverse scrolling (e.g. for a chat application, terminal log, or any number of common use cases).\r\n\r\n###Ideally...###\r\nThe best way to do this in react-native would be to simply expose a prop on those respective components so that scrolling can just be declared, e.g.\r\n\r\n```\r\n<ListView scrollDirection=\"reverse\" ... />\r\n<ScrollView scrollDirection=\"reverse\" ... />\r\n```\r\n\r\nI would really like to see this in react-native as it solves a really common UX need in the most composable and declarative way without involving any (redundant) new components.\r\n\r\n###Until then...###\r\nThis library is an excellent stopgap.  But it provides an incomplete solution because doesn't provide a simple component that just gets the job done:  it requires developers to manually compose the inverted view using `renderScrollComponent`, reversing the datasource, etc.\r\n\r\n###Can we...###\r\n\r\n...simply provide a couple components which behave exactly like `<ListView>` and `<ScrollView>`, except with inverted scrolling?  For example:\r\n\r\n* `<ReverseScrollView>`, which extends ScrollView\r\n* `<ReverseListView>`, which extends ListView\r\n\r\n...these components would behave exactly like ScrollView and ListView, with the same props, dataSource, etc.  Only the scroll direction would be reversed.  No more need to worry about how `renderScrollComponent` works, or how to deal with reversed data sources.\r\n\r\nI think this would provide much better composability, learnability, and usability for developers.  It would also provide a simple migration path in the future if react-native decides to offer something like a `scrollDirection` prop, since developers would already have written to a consistent set of props, events, etc.\r\n\r\n"}}