Browse Source

- Fixes freeze of passProps on iOS (#3220)

pera 6 years ago
parent
commit
fa135e223b
1 changed files with 13 additions and 13 deletions
  1. 13
    13
      src/deprecated/platformSpecificDeprecated.ios.js

+ 13
- 13
src/deprecated/platformSpecificDeprecated.ios.js View File

38
 
38
 
39
       components.forEach(component => {
39
       components.forEach(component => {
40
         const screenInstanceID = _.uniqueId('screenInstanceID');
40
         const screenInstanceID = _.uniqueId('screenInstanceID');
41
-  
41
+
42
         const {
42
         const {
43
           navigatorStyle,
43
           navigatorStyle,
44
           navigatorButtons,
44
           navigatorButtons,
46
         } = _mergeScreenSpecificSettings(component.screen, screenInstanceID, params);
46
         } = _mergeScreenSpecificSettings(component.screen, screenInstanceID, params);
47
         _saveNavigatorButtonsProps(navigatorButtons);
47
         _saveNavigatorButtonsProps(navigatorButtons);
48
         _saveNavBarComponentProps(navigatorStyle);
48
         _saveNavBarComponentProps(navigatorStyle);
49
-        const passProps = Object.assign({}, component.passProps);
49
+        const passProps = _.cloneDeep(component.passProps);
50
         passProps.navigatorID = navigatorID;
50
         passProps.navigatorID = navigatorID;
51
         passProps.screenInstanceID = screenInstanceID;
51
         passProps.screenInstanceID = screenInstanceID;
52
         passProps.navigatorEventID = navigatorEventID;
52
         passProps.navigatorEventID = navigatorEventID;
53
-  
54
-  
53
+
54
+
55
         component.navigationParams = {
55
         component.navigationParams = {
56
           screenInstanceID,
56
           screenInstanceID,
57
           navigatorStyle,
57
           navigatorStyle,
60
           navigatorID: navigatorID,
60
           navigatorID: navigatorID,
61
           passProps
61
           passProps
62
         };
62
         };
63
-  
63
+
64
         component.subtitle = params.subtitle;
64
         component.subtitle = params.subtitle;
65
         component.passProps = passProps;
65
         component.passProps = passProps;
66
         component.navigatorStyle = navigatorStyle;
66
         component.navigatorStyle = navigatorStyle;
67
 
67
 
68
         savePassProps(component);
68
         savePassProps(component);
69
-  
69
+
70
       });
70
       });
71
-        
71
+
72
     }
72
     }
73
 
73
 
74
     const {
74
     const {
191
       } = _mergeScreenSpecificSettings(component.screen, screenInstanceID, params);
191
       } = _mergeScreenSpecificSettings(component.screen, screenInstanceID, params);
192
       _saveNavigatorButtonsProps(navigatorButtons);
192
       _saveNavigatorButtonsProps(navigatorButtons);
193
       _saveNavBarComponentProps(navigatorStyle);
193
       _saveNavBarComponentProps(navigatorStyle);
194
-      const passProps = Object.assign({}, params.passProps);
194
+      const passProps = _.cloneDeep(params.passProps);
195
       passProps.navigatorID = navigatorID;
195
       passProps.navigatorID = navigatorID;
196
       passProps.screenInstanceID = screenInstanceID;
196
       passProps.screenInstanceID = screenInstanceID;
197
       passProps.navigatorEventID = navigatorEventID;
197
       passProps.navigatorEventID = navigatorEventID;
340
   } = _mergeScreenSpecificSettings(params.screen, screenInstanceID, params);
340
   } = _mergeScreenSpecificSettings(params.screen, screenInstanceID, params);
341
   _saveNavigatorButtonsProps(navigatorButtons);
341
   _saveNavigatorButtonsProps(navigatorButtons);
342
   _saveNavBarComponentProps(navigatorStyle);
342
   _saveNavBarComponentProps(navigatorStyle);
343
-  const passProps = Object.assign({}, params.passProps);
343
+  const passProps = _.cloneDeep(params);
344
   passProps.navigatorID = navigator.navigatorID;
344
   passProps.navigatorID = navigator.navigatorID;
345
   passProps.screenInstanceID = screenInstanceID;
345
   passProps.screenInstanceID = screenInstanceID;
346
   passProps.navigatorEventID = navigatorEventID;
346
   passProps.navigatorEventID = navigatorEventID;
406
   } = _mergeScreenSpecificSettings(params.screen, screenInstanceID, params);
406
   } = _mergeScreenSpecificSettings(params.screen, screenInstanceID, params);
407
   _saveNavigatorButtonsProps(navigatorButtons);
407
   _saveNavigatorButtonsProps(navigatorButtons);
408
   _saveNavBarComponentProps(navigatorStyle);
408
   _saveNavBarComponentProps(navigatorStyle);
409
-  const passProps = Object.assign({}, params.passProps);
409
+  const passProps = _.cloneDeep(params.passProps);
410
   passProps.navigatorID = navigator.navigatorID;
410
   passProps.navigatorID = navigator.navigatorID;
411
   passProps.screenInstanceID = screenInstanceID;
411
   passProps.screenInstanceID = screenInstanceID;
412
   passProps.navigatorEventID = navigatorEventID;
412
   passProps.navigatorEventID = navigatorEventID;
590
   } = _mergeScreenSpecificSettings(params.screen, screenInstanceID, params);
590
   } = _mergeScreenSpecificSettings(params.screen, screenInstanceID, params);
591
   _saveNavigatorButtonsProps(navigatorButtons);
591
   _saveNavigatorButtonsProps(navigatorButtons);
592
   _saveNavBarComponentProps(navigatorStyle);
592
   _saveNavBarComponentProps(navigatorStyle);
593
-  const passProps = Object.assign({}, params.passProps);
593
+  const passProps = _.cloneDeep(params.passProps);
594
   passProps.navigatorID = navigatorID;
594
   passProps.navigatorID = navigatorID;
595
   passProps.screenInstanceID = screenInstanceID;
595
   passProps.screenInstanceID = screenInstanceID;
596
   passProps.navigatorEventID = navigatorEventID;
596
   passProps.navigatorEventID = navigatorEventID;
648
     navigatorButtons,
648
     navigatorButtons,
649
     navigatorEventID
649
     navigatorEventID
650
   } = _mergeScreenSpecificSettings(params.screen, screenInstanceID, params);
650
   } = _mergeScreenSpecificSettings(params.screen, screenInstanceID, params);
651
-  const passProps = Object.assign({}, params.passProps);
651
+  const passProps = _.cloneDeep(params.passProps);
652
   passProps.navigatorID = navigatorID;
652
   passProps.navigatorID = navigatorID;
653
   passProps.screenInstanceID = screenInstanceID;
653
   passProps.screenInstanceID = screenInstanceID;
654
   passProps.navigatorEventID = navigatorEventID;
654
   passProps.navigatorEventID = navigatorEventID;
688
     navigatorButtons,
688
     navigatorButtons,
689
     navigatorEventID
689
     navigatorEventID
690
   } = _mergeScreenSpecificSettings(params.screen, screenInstanceID, params);
690
   } = _mergeScreenSpecificSettings(params.screen, screenInstanceID, params);
691
-  const passProps = Object.assign({}, params.passProps);
691
+  const passProps = _.cloneDeep(params.passProps);
692
   passProps.navigatorID = navigatorID;
692
   passProps.navigatorID = navigatorID;
693
   passProps.screenInstanceID = screenInstanceID;
693
   passProps.screenInstanceID = screenInstanceID;
694
   passProps.navigatorEventID = navigatorEventID;
694
   passProps.navigatorEventID = navigatorEventID;