diff --git a/docs/api/navigators/DrawerNavigator.md b/docs/api/navigators/DrawerNavigator.md index 7dbc895..1f256ad 100644 --- a/docs/api/navigators/DrawerNavigator.md +++ b/docs/api/navigators/DrawerNavigator.md @@ -130,6 +130,6 @@ The navigator component created by `DrawerNavigator(...)` takes the following pr }); ``` diff --git a/docs/api/navigators/StackNavigator.md b/docs/api/navigators/StackNavigator.md index 8f619a5..84065fb 100644 --- a/docs/api/navigators/StackNavigator.md +++ b/docs/api/navigators/StackNavigator.md @@ -139,7 +139,7 @@ The navigator component created by `StackNavigator(...)` takes the following pro }); ``` diff --git a/docs/api/navigators/TabNavigator.md b/docs/api/navigators/TabNavigator.md index 22ab4db..8301a0f 100644 --- a/docs/api/navigators/TabNavigator.md +++ b/docs/api/navigators/TabNavigator.md @@ -162,7 +162,7 @@ The navigator component created by `TabNavigator(...)` takes the following props }); ``` diff --git a/src/views/SceneView.js b/src/views/SceneView.js index fa6c293..eb2a3d2 100644 --- a/src/views/SceneView.js +++ b/src/views/SceneView.js @@ -11,12 +11,12 @@ import type { type Props = { screenProps?: {}; + hideScreenPropsWarning?: boolean; navigation: NavigationScreenProp; component: ReactClass<*>; }; export default class SceneView extends PureComponent { - static childContextTypes = { navigation: React.PropTypes.object.isRequired, }; @@ -29,8 +29,30 @@ export default class SceneView extends PureComponent { }; } + componentWillMount() { + if (this.props.screenProps !== undefined && !this.props.hideScreenPropsWarning) { + console.warn( + 'Behaviour of screenProps has changed from initial beta. ' + + 'Components will now receive it as `this.props.screenProps` instead.\n' + + 'Pass `hideScreenPropsWarning` to hide this warning.' + ); + } + } + render() { - const { screenProps, navigation, component: Component } = this.props; - return ; + const { + hideScreenPropsWarning, + screenProps, + navigation, + component: Component, + } = this.props; + + return ( + + ); } }