Skip to content

Instantly share code, notes, and snippets.

@rt2zz
Created January 27, 2016 05:22
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save rt2zz/b8d9fe31f4d94ce903e4 to your computer and use it in GitHub Desktop.
Save rt2zz/b8d9fe31f4d94ce903e4 to your computer and use it in GitHub Desktop.
navigation-rfc + redux
@connect(state => ({navState: state.navState})
export default class AppNavigator {
render () {
return (
<NavigationAnimatedView
navigationState={this.props.navState}
style={styles.animatedView}
springConfig={{velocity: 1, tension: 50, friction: 11}}
renderOverlay={(props) => <View />}
renderScene={(route, index, navState, position, layout) => {
let RouteComponent = getComponentFromRoute(route)
return (
<NavigationCard
key={index}
route={route}
index={index}
navState={navState}
position={position}
layout={layout}
>
<RouteComponent route={route} />
</NavigationCard>
)
}}
/>
)
}
}
import {NavigationState} from 'react-native'
export default function navState (state = initialState, action) {
switch (action.type) {
case NAVIGATE_PUSH:
return NavigationState.push(state, action.payload)
case NAVIGATE_POP:
if (navState.index === 0 || state.length === 1) return state
return NavigationState.pop(tate
default:
return state
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment