Fix withNavigation in non-floating headers

This commit is contained in:
Brent Vatne 2018-06-08 15:48:21 -07:00
parent 21ef4fcb82
commit b7f5435c93

View File

@ -118,16 +118,20 @@ class StackViewLayout extends React.Component {
...passProps
} = this.props;
return renderHeader({
...passProps,
...transitionProps,
scene,
mode: headerMode,
transitionPreset: this._getHeaderTransitionPreset(),
leftInterpolator: headerLeftInterpolator,
titleInterpolator: headerTitleInterpolator,
rightInterpolator: headerRightInterpolator,
});
return (
<NavigationProvider value={scene.descriptor.navigation}>
{renderHeader({
...passProps,
...transitionProps,
scene,
mode: headerMode,
transitionPreset: this._getHeaderTransitionPreset(),
leftInterpolator: headerLeftInterpolator,
titleInterpolator: headerTitleInterpolator,
rightInterpolator: headerRightInterpolator,
})}
</NavigationProvider>
);
}
// eslint-disable-next-line class-methods-use-this
@ -396,11 +400,7 @@ class StackViewLayout extends React.Component {
const headerMode = this._getHeaderMode();
if (headerMode === 'float') {
const { scene } = this.props.transitionProps;
floatingHeader = (
<NavigationProvider value={scene.descriptor.navigation}>
{this._renderHeader(scene, headerMode)}
</NavigationProvider>
);
floatingHeader = this._renderHeader(scene, headerMode);
}
const {
transitionProps: { navigation, position, layout, scene, scenes },