diff --git a/Examples/UIExplorer/NavigationExperimental/NavigationAnimatedExample.js b/Examples/UIExplorer/NavigationExperimental/NavigationAnimatedExample.js index 49087e6c3..88b446d47 100644 --- a/Examples/UIExplorer/NavigationExperimental/NavigationAnimatedExample.js +++ b/Examples/UIExplorer/NavigationExperimental/NavigationAnimatedExample.js @@ -119,7 +119,6 @@ class NavigationAnimatedExample extends React.Component { return ( ); diff --git a/Libraries/NavigationExperimental/NavigationAnimatedView.js b/Libraries/NavigationExperimental/NavigationAnimatedView.js index efa2e4034..009a26cb4 100644 --- a/Libraries/NavigationExperimental/NavigationAnimatedView.js +++ b/Libraries/NavigationExperimental/NavigationAnimatedView.js @@ -189,6 +189,7 @@ class NavigationAnimatedView onNavigate, position, scene, + key: 'scene_' + scene.navigationState.key, scenes, }); } @@ -208,6 +209,7 @@ class NavigationAnimatedView return renderOverlay({ layout: this.state.layout, + key: navigationState.key, navigationState, onNavigate, position, diff --git a/Libraries/NavigationExperimental/NavigationPropTypes.js b/Libraries/NavigationExperimental/NavigationPropTypes.js index 6a8a04886..0c604675d 100644 --- a/Libraries/NavigationExperimental/NavigationPropTypes.js +++ b/Libraries/NavigationExperimental/NavigationPropTypes.js @@ -66,6 +66,7 @@ const scene = PropTypes.shape({ /* NavigationSceneRendererProps */ const SceneRenderer = { + key: PropTypes.string.isRequired, layout: layout.isRequired, navigationState: navigationParentState.isRequired, onNavigate: PropTypes.func.isRequired, @@ -97,6 +98,7 @@ function extractSceneRendererProps( props: NavigationSceneRendererProps, ): NavigationSceneRendererProps { return { + key: props.scene.navigationState.key, layout: props.layout, navigationState: props.navigationState, onNavigate: props.onNavigate, diff --git a/Libraries/NavigationExperimental/NavigationTypeDefinition.js b/Libraries/NavigationExperimental/NavigationTypeDefinition.js index f0dff93ed..d36ee54a4 100644 --- a/Libraries/NavigationExperimental/NavigationTypeDefinition.js +++ b/Libraries/NavigationExperimental/NavigationTypeDefinition.js @@ -66,6 +66,9 @@ export type NavigationSceneRendererProps = { // The scene to render. scene: NavigationScene, + // The key of the scene + key: string, + // All the scenes of the containing view's. scenes: Array, }; diff --git a/Libraries/NavigationExperimental/NavigationView.js b/Libraries/NavigationExperimental/NavigationView.js index 157e1d36d..6da86c86d 100644 --- a/Libraries/NavigationExperimental/NavigationView.js +++ b/Libraries/NavigationExperimental/NavigationView.js @@ -122,12 +122,15 @@ class NavigationView extends React.Component { scenes, } = this.state; + const scene = scenes[navigationState.index]; + const sceneProps = { + key: 'scene_' + scene.navigationState.key, layout, navigationState: navigationState, onNavigate: onNavigate, position: this._position, - scene: scenes[navigationState.index], + scene, scenes, };