diff --git a/src/InkTabBar.js b/src/InkTabBar.js
index 9759462e5..f398d74e7 100755
--- a/src/InkTabBar.js
+++ b/src/InkTabBar.js
@@ -3,26 +3,19 @@ import PropTypes from 'prop-types';
import InkTabBarNode from './InkTabBarNode';
import TabBarTabsNode from './TabBarTabsNode';
import TabBarRootNode from './TabBarRootNode';
+import SaveRef from './SaveRef';
export default class InkTabBar extends React.Component {
- getRef = (name) => {
- return this[name];
- }
-
- saveRef = (name) => {
- return (node) => {
- if (node) {
- this[name] = node;
- }
- };
- }
-
render() {
return (
-
-
-
-
+
+ {(saveRef, getRef) => (
+
+
+
+
+ )}
+
);
}
}
diff --git a/src/SaveRef.js b/src/SaveRef.js
new file mode 100644
index 000000000..f4c3204d0
--- /dev/null
+++ b/src/SaveRef.js
@@ -0,0 +1,19 @@
+import React from 'react';
+
+export default class SaveRef extends React.Component {
+ getRef = (name) => {
+ return this[name];
+ }
+
+ saveRef = (name) => {
+ return (node) => {
+ if (node) {
+ this[name] = node;
+ }
+ };
+ }
+
+ render() {
+ return this.props.children(this.saveRef, this.getRef);
+ }
+}
diff --git a/src/ScrollableInkTabBar.js b/src/ScrollableInkTabBar.js
index ce6aadf6a..1f57b986f 100755
--- a/src/ScrollableInkTabBar.js
+++ b/src/ScrollableInkTabBar.js
@@ -3,28 +3,21 @@ import InkTabBarNode from './InkTabBarNode';
import TabBarTabsNode from './TabBarTabsNode';
import TabBarRootNode from './TabBarRootNode';
import ScrollableTabBarNode from './ScrollableTabBarNode';
+import SaveRef from './SaveRef';
export default class ScrollableInkTabBar extends React.Component {
- getRef = (name) => {
- return this[name];
- }
-
- saveRef = (name) => {
- return (node) => {
- if (node) {
- this[name] = node;
- }
- };
- }
-
render() {
return (
-
-
-
-
-
-
+
+ {(saveRef, getRef) => (
+
+
+
+
+
+
+ )}
+
);
}
}
diff --git a/src/ScrollableTabBar.js b/src/ScrollableTabBar.js
index 6a735214c..762b26d3a 100755
--- a/src/ScrollableTabBar.js
+++ b/src/ScrollableTabBar.js
@@ -2,27 +2,20 @@ import React from 'react';
import ScrollableTabBarNode from './ScrollableTabBarNode';
import TabBarRootNode from './TabBarRootNode';
import TabBarTabsNode from './TabBarTabsNode';
+import SaveRef from './SaveRef';
export default class ScrollableTabBar extends React.Component {
- getRef = (name) => {
- return this[name];
- }
-
- saveRef = (name) => {
- return (node) => {
- if (node) {
- this[name] = node;
- }
- };
- }
-
render() {
return (
-
-
-
-
-
+
+ {(saveRef, getRef) => (
+
+
+
+
+
+ )}
+
);
}
}
diff --git a/src/SwipeableInkTabBar.js b/src/SwipeableInkTabBar.js
index 0a555eeda..fc3edca03 100755
--- a/src/SwipeableInkTabBar.js
+++ b/src/SwipeableInkTabBar.js
@@ -3,28 +3,21 @@ import SwipeableTabBarNode from './SwipeableTabBarNode';
import TabBarSwipeableTabs from './TabBarSwipeableTabs';
import TabBarRootNode from './TabBarRootNode';
import InkTabBarNode from './InkTabBarNode';
+import SaveRef from './SaveRef'
export default class SwipeableInkTabBar extends React.Component {
- getRef = (name) => {
- return this[name];
- }
-
- saveRef = (name) => {
- return (node) => {
- if (node) {
- this[name] = node;
- }
- };
- }
-
render() {
return (
-
-
-
-
-
-
+
+ {(saveRef, getRef) => (
+
+
+
+
+
+
+ )}
+
);
}
}
diff --git a/src/TabBar.js b/src/TabBar.js
index 1a59ae3a0..3cfa23e33 100644
--- a/src/TabBar.js
+++ b/src/TabBar.js
@@ -1,21 +1,19 @@
import React from 'react';
import TabBarRootNode from './TabBarRootNode';
import TabBarTabsNode from './TabBarTabsNode';
+import SaveRef from './SaveRef';
export default class TabBar1 extends React.Component {
- saveRef = (name) => {
- return (node) => {
- if (node) {
- this[name] = node;
- }
- };
- }
-
render() {
return (
-
-
-
+
+ {(saveRef) => (
+
+
+
+ )}
+
+
);
}
}