From 3031e7bd80b0939c67b49c2b679ccdaff1bbfa80 Mon Sep 17 00:00:00 2001 From: Brent Vatne Date: Fri, 8 Jun 2018 17:35:17 -0700 Subject: [PATCH] Update header when screenProps change (Fixes #4271) --- src/views/ScenesReducer.js | 11 +++++++++++ src/views/StackView/StackView.js | 1 + src/views/Transitioner.js | 6 ++++++ 3 files changed, 18 insertions(+) diff --git a/src/views/ScenesReducer.js b/src/views/ScenesReducer.js index fe4db773..2ef07a06 100644 --- a/src/views/ScenesReducer.js +++ b/src/views/ScenesReducer.js @@ -65,6 +65,17 @@ export default function ScenesReducer( prevState, descriptors ) { + // Always update the descriptors + // This is a workaround for https://github.com/react-navigation/react-navigation/issues/4271 + // It will be resolved in a better way when we re-write Transitioner + scenes.forEach(scene => { + const { route } = scene; + if (descriptors[route.key]) { + scene.descriptor = descriptors[route.key]; + } + }); + + // Bail out early if we didn't update the state if (prevState === nextState) { return scenes; } diff --git a/src/views/StackView/StackView.js b/src/views/StackView/StackView.js index fcdc5dff..a3a5c56a 100644 --- a/src/views/StackView/StackView.js +++ b/src/views/StackView/StackView.js @@ -22,6 +22,7 @@ class StackView extends React.Component {