From 01199984d322dd0f66f810fb6e26d6f482725506 Mon Sep 17 00:00:00 2001 From: James Ide Date: Fri, 12 Jun 2015 11:17:46 -0700 Subject: [PATCH] [Idea: ScrollView] Add `getScrollResponder` to ScrollView for composition Summary: This is a proposal to add `getScrollResponder` to all ScrollView-like components, including ListView. This allows multiple higher-order scroll views to be composed while allowing the owner of the top-level scroll view to call `scrollableView.getScrollResponder().scrollTo(...)` regardless of whether `scrollableView` is a ScrollView, ListView, InvertedScrollView, etc. Closes https://github.com/facebook/react-native/pull/766 Github Author: James Ide Test Plan: Imported from GitHub, without a `Test Plan:` line. --- Libraries/Components/ScrollView/ScrollView.js | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/Libraries/Components/ScrollView/ScrollView.js b/Libraries/Components/ScrollView/ScrollView.js index 5700ff964bd1ba..8952fb0d1e624a 100644 --- a/Libraries/Components/ScrollView/ScrollView.js +++ b/Libraries/Components/ScrollView/ScrollView.js @@ -200,6 +200,16 @@ var ScrollView = React.createClass({ this.refs[SCROLLVIEW].setNativeProps(props); }, + /** + * Returns a reference to the underlying scroll responder, which supports + * operations like `scrollTo`. All ScrollView-like components should + * implement this method so that they can be composed while providing access + * to the underlying scroll responder's methods. + */ + getScrollResponder: function(): ReactComponent { + return this; + }, + getInnerViewNode: function(): any { return React.findNodeHandle(this.refs[INNERVIEW]); },