diff --git a/Libraries/CustomComponents/Navigator/NavigatorBreadcrumbNavigationBar.js b/Libraries/CustomComponents/Navigator/NavigatorBreadcrumbNavigationBar.js index 84a1e43cde1b58..e224253c21be2a 100644 --- a/Libraries/CustomComponents/Navigator/NavigatorBreadcrumbNavigationBar.js +++ b/Libraries/CustomComponents/Navigator/NavigatorBreadcrumbNavigationBar.js @@ -36,6 +36,7 @@ var View = require('View'); var { Map } = require('immutable'); +var guid = require('guid'); var invariant = require('invariant'); var Interpolators = NavigatorBreadcrumbNavigationBarStyles.Interpolators; @@ -179,11 +180,7 @@ var NavigatorBreadcrumbNavigationBar = React.createClass({ }, componentWillMount: function() { - this._descriptors = { - crumb: new Map(), - title: new Map(), - right: new Map(), - }; + this._reset(); }, render: function() { @@ -192,7 +189,9 @@ var NavigatorBreadcrumbNavigationBar = React.createClass({ var titles = navState.routeStack.map(this._getTitle); var buttons = navState.routeStack.map(this._getRightButton); return ( - + {titles} {icons} {buttons} @@ -200,6 +199,20 @@ var NavigatorBreadcrumbNavigationBar = React.createClass({ ); }, + immediatelyRefresh: function() { + this._reset(); + this.forceUpdate(); + }, + + _reset() { + this._key = guid(); + this._descriptors = { + crumb: new Map(), + title: new Map(), + right: new Map(), + }; + }, + _getBreadcrumb: function(route, index) { if (this._descriptors.crumb.has(route)) { return this._descriptors.crumb.get(route);