Rename GestureContext to StackGestureContext

This commit is contained in:
Brent Vatne 2018-09-25 10:38:45 -07:00
parent 53d191455b
commit 6288ddfbe8
6 changed files with 20 additions and 17 deletions

View File

@ -2,7 +2,7 @@ import React from 'react';
import { Button, WebView, View, StyleSheet } from 'react-native';
import { MapView } from 'expo';
import { createStackNavigator } from 'react-navigation';
import { GestureContext } from 'react-navigation-stack';
import { StackGestureContext } from 'react-navigation-stack';
import {
PanGestureHandler,
NativeViewGestureHandler,
@ -12,19 +12,24 @@ const IndexScreen = ({ navigation }) => (
<View style={{ flex: 1, alignItems: 'center', justifyContent: 'center' }}>
<Button title="Go to MapView" onPress={() => navigation.navigate('Map')} />
<Button title="Go to WebView" onPress={() => navigation.navigate('Web')} />
<Button title="Return to other examples" onPress={() => navigation.navigate('Home')} />
</View>
);
IndexScreen.navigationOptions = {
title: 'Gesture Interactions'
};
class MapScreen extends React.Component {
render() {
return (
<GestureContext.Consumer>
<StackGestureContext.Consumer>
{ref => (
<NativeViewGestureHandler waitFor={ref}>
<MapView style={{ flex: 1 }} />
</NativeViewGestureHandler>
)}
</GestureContext.Consumer>
</StackGestureContext.Consumer>
);
}
}
@ -33,7 +38,7 @@ MapScreen.navigationOptions = {
title: 'MapView',
};
const WebViewScreen = () => (
<GestureContext.Consumer>
<StackGestureContext.Consumer>
{ref => (
<NativeViewGestureHandler waitFor={ref}>
<WebView
@ -42,7 +47,7 @@ const WebViewScreen = () => (
/>
</NativeViewGestureHandler>
)}
</GestureContext.Consumer>
</StackGestureContext.Consumer>
);
WebViewScreen.navigationOptions = {

View File

@ -1,6 +1,6 @@
{
"name": "react-navigation-stack",
"version": "1.0.0-alpha.0",
"version": "1.0.0-alpha.1",
"description": "Stack navigator component for React Navigation",
"main": "dist/index.js",
"files": [

View File

@ -52,7 +52,7 @@ module.exports = {
get ScenesReducer() {
return require('./views/ScenesReducer').default;
},
get GestureContext() {
return require('./utils/GestureContext').default;
get StackGestureContext() {
return require('./utils/StackGestureContext').default;
}
};

View File

@ -1,4 +0,0 @@
import React from 'react';
const GestureContext = React.createContext(null);
export default GestureContext;

View File

@ -0,0 +1,3 @@
import React from 'react';
export default React.createContext(null);

View File

@ -1,7 +1,5 @@
import React from 'react';
import clamp from '../../utils/clamp';
import GestureContext from '../../utils/GestureContext';
import {
Animated,
StyleSheet,
@ -24,8 +22,9 @@ import { PanGestureHandler, State } from 'react-native-gesture-handler';
import Card from './StackViewCard';
import Header from '../Header/Header';
import TransitionConfigs from './StackViewTransitionConfigs';
import StackGestureContext from '../../utils/StackGestureContext';
import clamp from '../../utils/clamp';
import { supportsImprovedSpringAnimation } from '../../utils/ReactNativeFeatures';
const emptyFunction = () => {};
@ -303,12 +302,12 @@ class StackViewLayout extends React.Component {
enabled={index > 0 && gesturesEnabled}
>
<View style={containerStyle}>
<GestureContext.Provider value={this.panGestureRef}>
<StackGestureContext.Provider value={this.panGestureRef}>
<ScreenContainer style={styles.scenes}>
{scenes.map(s => this._renderCard(s))}
</ScreenContainer>
{floatingHeader}
</GestureContext.Provider>
</StackGestureContext.Provider>
</View>
</PanGestureHandler>
);