react-native/Libraries/Components
Geordie 73c5360470 NavigatorIOS: stopPropagation on navigationComplete event. Fixes #1241
Summary:
With nested NavigatorIOS components:

```
<NavigatorIOS initialRoute={{
  component: ComponentWithAnotherNavigatorIOSInSubtree
  title: 'xyz'
}}>
```

Navigating (via push etc.) in ComponentWithAnotherNavigatorIOSInSubtree's `navigator` caused an invariant error, making apps with this structure unusable. The reason was that the `navigationComplete` nativeEvent was being propagated to the outer Navigator due to React's automatic event bubbling, making the outer NavigatorIOS incorrectly think it was holding navigation stack state inconsistent with its native UINavigationController.

Concretely, if the outer navigation stack is empty except for its initial state and something is pushed onto the inner stack, the outer NavigatorIOS suddenly complains that it has 2 items on its stack rather than 1. In reality, the outer Navigator still only has 1 item on its stack but the inner Navigator's event (containing information about the inner Navigator) incorrectly bubbles up and reaches the outer Navigator too.
Closes https://github.com/facebook/react-native/pull/9828

Differential Revision: D4030167

Pulled By: ericvicenti

fbshipit-source-id: d04de3d5b70b4862a78610c92701ebdab2b047dd
2016-10-17 10:28:41 -07:00
..
ActivityIndicator RN: Stop Deep Linking `ReactPropTypes` 2016-10-14 18:59:10 -07:00
Clipboard Remove deprecated APIs and modules 2016-10-11 07:43:52 -07:00
DatePicker RN: Stop Deep Linking `ReactPropTypes` 2016-10-14 18:59:10 -07:00
DatePickerAndroid Clean unused import modules. 2016-10-16 11:13:40 -07:00
DrawerAndroid RN: Stop Deep Linking `ReactPropTypes` 2016-10-14 18:59:10 -07:00
Keyboard Reverted commit D4027388 2016-10-16 04:13:42 -07:00
MapView Clean unused import modules. 2016-10-16 11:13:40 -07:00
Navigation NavigatorIOS: stopPropagation on navigationComplete event. Fixes #1241 2016-10-17 10:28:41 -07:00
Picker Clean unused import modules. 2016-10-16 11:13:40 -07:00
ProgressBarAndroid RN: Stop Deep Linking `ReactPropTypes` 2016-10-14 18:59:10 -07:00
ProgressViewIOS RN: Stop Deep Linking `ReactPropTypes` 2016-10-14 18:59:10 -07:00
RefreshControl Remove `node_modules/react` from the list of discoverable haste modules 2016-07-05 06:44:33 -07:00
ScrollView RN: Require {react/lib/ => }ReactNative 2016-10-14 18:59:10 -07:00
SegmentedControlIOS RN: Stop Deep Linking `ReactPropTypes` 2016-10-14 18:59:10 -07:00
Slider RN: Stop Deep Linking `ReactPropTypes` 2016-10-14 18:59:10 -07:00
StatusBar Reverted commit D4027388 2016-10-16 04:13:42 -07:00
Switch Update Switch.js docs - tintColor changes border 2016-09-05 13:43:37 -07:00
TabBarIOS Convert from React.createClass to ES6 classes 2016-07-26 01:13:31 -07:00
TextInput RN: Stop Deep Linking `ReactChildren` 2016-10-14 18:59:10 -07:00
TimePickerAndroid Clean unused import modules. 2016-10-16 11:13:40 -07:00
ToastAndroid Add very basic usage example for android toast 2016-09-19 06:43:54 -07:00
ToolbarAndroid Clean unused import modules. 2016-10-16 11:13:40 -07:00
Touchable Moving the jest configuration from jest-react-native to react native. 2016-10-17 08:44:05 -07:00
UnimplementedViews Convert from React.createClass to ES6 classes 2016-07-26 01:13:31 -07:00
View Moving the jest configuration from jest-react-native to react native. 2016-10-17 08:44:05 -07:00
ViewPager RN: Stop Deep Linking `ReactElement` 2016-10-14 18:59:10 -07:00
WebView Clean unused import modules. 2016-10-16 11:13:40 -07:00
Button.js Change require('invariant') to require('fbjs/lib/invariant') 2016-10-16 02:13:52 -07:00
LazyRenderer.js Cleanup: Prefer `React.Element` over `React$?Element` 2016-10-14 08:59:37 -07:00
ScrollResponder.js RN: Require {react/lib/ => }ReactNative 2016-10-14 18:59:10 -07:00
StaticContainer.js RN: Change `onlyChild => React.Children.only` 2016-10-14 18:59:10 -07:00
StaticRenderer.js Reverted commit D4027388 2016-10-16 04:13:42 -07:00
Subscribable.js [ReactNative] clean lint for Libraries/Components 2015-05-18 15:54:07 -08:00