From 41193b6e044aea90a86b3064dc2e80226434a2f5 Mon Sep 17 00:00:00 2001 From: Yedidya Kennard Date: Tue, 31 May 2016 12:01:00 +0300 Subject: [PATCH] Fixed passing props in Android to match how iOS did it --- example-redux/src/app.js | 80 ++++++++++++++------------------- src/platformSpecific.android.js | 3 ++ 2 files changed, 37 insertions(+), 46 deletions(-) diff --git a/example-redux/src/app.js b/example-redux/src/app.js index a044930354e..7c1685e1b3d 100644 --- a/example-redux/src/app.js +++ b/example-redux/src/app.js @@ -39,28 +39,28 @@ export default class App { screen: { screen: 'example.LoginScreen', title: 'Login', - navigatorStyle: {}, - passProps: { - str: 'This is a prop passed in \'startSingleScreenApp()\'!', - obj: { - str: 'This is a prop passed in an object!', - arr: [ - { - str: 'This is a prop in an object in an array in an object!' - } + navigatorStyle: {} + }, + passProps: { + str: 'This is a prop passed in \'startSingleScreenApp()\'!', + obj: { + str: 'This is a prop passed in an object!', + arr: [ + { + str: 'This is a prop in an object in an array in an object!' + } + ], + arr2: [ + [ + 'array of strings', + 'with two strings' ], - arr2: [ - [ - 'array of strings', - 'with two strings' - ], - [ - 1, 2, 3 - ] + [ + 1, 2, 3 ] - }, - num: 1234 - } + ] + }, + num: 1234 } }); return; @@ -73,19 +73,7 @@ export default class App { icon: require('../img/one.png'), selectedIcon: require('../img/one_selected.png'), title: 'Screen One', - navigatorStyle: {}, - passProps: { - str: 'This is a prop passed in \'startTabBasedApp\'!', - obj: { - str: 'This is a prop passed in an object!', - arr: [ - { - str: 'This is a prop in an object in an array in an object!' - } - ] - }, - num: 1234 - } + navigatorStyle: {} }, { label: 'Two', @@ -93,21 +81,21 @@ export default class App { icon: require('../img/two.png'), selectedIcon: require('../img/two_selected.png'), title: 'Screen Two', - navigatorStyle: {}, - passProps: { - str: 'This is a prop passed in \'startTabBasedApp\'!', - obj: { - str: 'This is a prop passed in an object!', - arr: [ - { - str: 'This is a prop in an object in an array in an object!' - } - ] - }, - num: 1234 - } + navigatorStyle: {} } ], + passProps: { + str: 'This is a prop passed in \'startTabBasedApp\'!', + obj: { + str: 'This is a prop passed in an object!', + arr: [ + { + str: 'This is a prop in an object in an array in an object!' + } + ] + }, + num: 1234 + }, animationType: 'slide-down', title: 'Redux Example' }); diff --git a/src/platformSpecific.android.js b/src/platformSpecific.android.js index b8d16822f94..849b2ddbdd1 100644 --- a/src/platformSpecific.android.js +++ b/src/platformSpecific.android.js @@ -22,6 +22,7 @@ function startSingleScreenApp(params) { addNavigatorParams(screen); addNavigatorButtons(screen); addNavigationStyleParams(screen); + screen.passProps = params.passProps; RctActivity.startSingleScreenApp(screen); } @@ -35,11 +36,13 @@ function startTabBasedApp(params) { addNavigatorParams(tab, null, idx); addNavigatorButtons(tab); addNavigationStyleParams(tab); + tab.screen.passProps = params.passProps; }); RctActivity.startTabBasedApp(params.tabs); } + function navigatorPush(navigator, params) { addNavigatorParams(params, navigator); addNavigatorButtons(params);