message: Read context value to state
  Prevents consumers firing when parent re-renders
diff: import NavigationContext from './NavigationContext';
  -import { StateNavigator, StateContext } from 'navigation';
  +import { StateNavigator, StateContext, State } from 'navigation';
  import * as React from 'react';
  +type NavigationHandlerState = { context: { oldState: State, state: State, data: any, asyncData: any, stateNavigator: StateNavigator } };
  -class NavigationHandler extends React.Component<{ stateNavigator: StateNavigator }, { stateNavigator: StateNavigator }> {
  +class NavigationHandler extends React.Component<{ stateNavigator: StateNavigator }, NavigationHandlerState> {
  private originalResumeNavigation;
  constructor(props) {
  super(props);
  var { stateNavigator } = this.props;
  this.originalResumeNavigation = stateNavigator['resumeNavigation'];
  this.props.stateNavigator['resumeNavigation'] = this.resumeNavigation.bind(this);
  - this.state = { stateNavigator };
  + var { oldState, state, data, asyncData } = stateNavigator.stateContext;
  + this.state = { context: { oldState, state, data, asyncData, stateNavigator } };
  }
  componentWillUnmount() {
  @@ -28,18 +30,17 @@ class NavigationHandler extends React.Component<{ stateNavigator: StateNavigator
  nextNavigator.onNavigate = stateNavigator.onNavigate.bind(stateNavigator);
  nextNavigator.offNavigate = stateNavigator.offNavigate.bind(stateNavigator);
  nextNavigator.navigateLink = stateNavigator.navigateLink.bind(stateNavigator);
  - return { stateNavigator: nextNavigator };
  + var { oldState, state, data, asyncData } = stateContext;
  + return { context: { oldState, state, data, asyncData, stateNavigator: nextNavigator } };
  }, () => {
  - if (stateContext.url === this.state.stateNavigator.stateContext.url)
  + if (stateContext.url === this.state.context.stateNavigator.stateContext.url)
  this.originalResumeNavigation.call(stateNavigator, stateContext, historyAction);
  });
  }
  render() {
  - var { stateNavigator } = this.state;
  - var { oldState, state, data, asyncData } = stateNavigator.stateContext;
  return (
  - <NavigationContext.Provider value={{ oldState, state, data, asyncData, stateNavigator }}>
  + <NavigationContext.Provider value={this.state.context}>
  {this.props.children}
  </NavigationContext.Provider>
  );
  