From 63ee285b218c4e9b0592110a16e0cbb48973e135 Mon Sep 17 00:00:00 2001 From: pera Date: Wed, 16 May 2018 23:36:24 -0300 Subject: [PATCH] - Fixes freeze of passProps on iOS --- .../platformSpecificDeprecated.ios.js | 26 +++++++++---------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/src/deprecated/platformSpecificDeprecated.ios.js b/src/deprecated/platformSpecificDeprecated.ios.js index 35fab793677..ad0345f18f6 100644 --- a/src/deprecated/platformSpecificDeprecated.ios.js +++ b/src/deprecated/platformSpecificDeprecated.ios.js @@ -38,7 +38,7 @@ async function startTabBasedApp(params) { components.forEach(component => { const screenInstanceID = _.uniqueId('screenInstanceID'); - + const { navigatorStyle, navigatorButtons, @@ -46,12 +46,12 @@ async function startTabBasedApp(params) { } = _mergeScreenSpecificSettings(component.screen, screenInstanceID, params); _saveNavigatorButtonsProps(navigatorButtons); _saveNavBarComponentProps(navigatorStyle); - const passProps = Object.assign({}, component.passProps); + const passProps = _.cloneDeep(component.passProps); passProps.navigatorID = navigatorID; passProps.screenInstanceID = screenInstanceID; passProps.navigatorEventID = navigatorEventID; - - + + component.navigationParams = { screenInstanceID, navigatorStyle, @@ -60,15 +60,15 @@ async function startTabBasedApp(params) { navigatorID: navigatorID, passProps }; - + component.subtitle = params.subtitle; component.passProps = passProps; component.navigatorStyle = navigatorStyle; savePassProps(component); - + }); - + } const { @@ -191,7 +191,7 @@ async function startSingleScreenApp(params) { } = _mergeScreenSpecificSettings(component.screen, screenInstanceID, params); _saveNavigatorButtonsProps(navigatorButtons); _saveNavBarComponentProps(navigatorStyle); - const passProps = Object.assign({}, params.passProps); + const passProps = _.cloneDeep(params.passProps); passProps.navigatorID = navigatorID; passProps.screenInstanceID = screenInstanceID; passProps.navigatorEventID = navigatorEventID; @@ -340,7 +340,7 @@ function navigatorPush(navigator, params) { } = _mergeScreenSpecificSettings(params.screen, screenInstanceID, params); _saveNavigatorButtonsProps(navigatorButtons); _saveNavBarComponentProps(navigatorStyle); - const passProps = Object.assign({}, params.passProps); + const passProps = _.cloneDeep(params); passProps.navigatorID = navigator.navigatorID; passProps.screenInstanceID = screenInstanceID; passProps.navigatorEventID = navigatorEventID; @@ -406,7 +406,7 @@ function navigatorResetTo(navigator, params) { } = _mergeScreenSpecificSettings(params.screen, screenInstanceID, params); _saveNavigatorButtonsProps(navigatorButtons); _saveNavBarComponentProps(navigatorStyle); - const passProps = Object.assign({}, params.passProps); + const passProps = _.cloneDeep(params.passProps); passProps.navigatorID = navigator.navigatorID; passProps.screenInstanceID = screenInstanceID; passProps.navigatorEventID = navigatorEventID; @@ -590,7 +590,7 @@ function showModal(params) { } = _mergeScreenSpecificSettings(params.screen, screenInstanceID, params); _saveNavigatorButtonsProps(navigatorButtons); _saveNavBarComponentProps(navigatorStyle); - const passProps = Object.assign({}, params.passProps); + const passProps = _.cloneDeep(params.passProps); passProps.navigatorID = navigatorID; passProps.screenInstanceID = screenInstanceID; passProps.navigatorEventID = navigatorEventID; @@ -648,7 +648,7 @@ function showLightBox(params) { navigatorButtons, navigatorEventID } = _mergeScreenSpecificSettings(params.screen, screenInstanceID, params); - const passProps = Object.assign({}, params.passProps); + const passProps = _.cloneDeep(params.passProps); passProps.navigatorID = navigatorID; passProps.screenInstanceID = screenInstanceID; passProps.navigatorEventID = navigatorEventID; @@ -688,7 +688,7 @@ function showInAppNotification(params) { navigatorButtons, navigatorEventID } = _mergeScreenSpecificSettings(params.screen, screenInstanceID, params); - const passProps = Object.assign({}, params.passProps); + const passProps = _.cloneDeep(params.passProps); passProps.navigatorID = navigatorID; passProps.screenInstanceID = screenInstanceID; passProps.navigatorEventID = navigatorEventID;