From db229aab87a261c85b615cff6248c589ca711374 Mon Sep 17 00:00:00 2001 From: Bhuwan Khattar Date: Tue, 3 Nov 2015 17:10:15 -0800 Subject: [PATCH] Make component registration in UIExplorerApp explicit Summary: Currently, the components get registered by `UIExplorerApp.ios.js` as a side effect of requiring `UIExplorerList.ios.js`. This removes the side effect and makes the registration explicit so that it works well with inline requires. public Reviewed By: jingc Differential Revision: D2613174 fb-gh-sync-id: 799dd8b11985708b05fc4c03f367487b47f46bc6 --- Examples/UIExplorer/UIExplorerApp.ios.js | 1 + Examples/UIExplorer/UIExplorerList.ios.js | 36 ++++++++++++----------- 2 files changed, 20 insertions(+), 17 deletions(-) diff --git a/Examples/UIExplorer/UIExplorerApp.ios.js b/Examples/UIExplorer/UIExplorerApp.ios.js index c2f4734e8..8daecbd42 100644 --- a/Examples/UIExplorer/UIExplorerApp.ios.js +++ b/Examples/UIExplorer/UIExplorerApp.ios.js @@ -73,5 +73,6 @@ var styles = StyleSheet.create({ }); AppRegistry.registerComponent('UIExplorerApp', () => UIExplorerApp); +UIExplorerList.registerComponents(); module.exports = UIExplorerApp; diff --git a/Examples/UIExplorer/UIExplorerList.ios.js b/Examples/UIExplorer/UIExplorerList.ios.js index c56bed0fd..c8f07d971 100644 --- a/Examples/UIExplorer/UIExplorerList.ios.js +++ b/Examples/UIExplorer/UIExplorerList.ios.js @@ -79,23 +79,6 @@ var APIS = [ require('./ImageEditingExample'), ]; -// Register suitable examples for snapshot tests -COMPONENTS.concat(APIS).forEach((Example) => { - if (Example.displayName) { - var Snapshotter = React.createClass({ - render: function() { - var Renderable = UIExplorerListBase.makeRenderable(Example); - return ( - - - - ); - }, - }); - AppRegistry.registerComponent(Example.displayName, () => Snapshotter); - } -}); - type Props = { navigator: { navigationContext: NavigationContext, @@ -144,6 +127,25 @@ class UIExplorerList extends React.Component { onPressRow(example: any) { this._openExample(example); } + + // Register suitable examples for snapshot tests + static registerComponents() { + COMPONENTS.concat(APIS).forEach((Example) => { + if (Example.displayName) { + var Snapshotter = React.createClass({ + render: function() { + var Renderable = UIExplorerListBase.makeRenderable(Example); + return ( + + + + ); + }, + }); + AppRegistry.registerComponent(Example.displayName, () => Snapshotter); + } + }); + } } var styles = StyleSheet.create({