mirror of
https://github.com/zhigang1992/react-navigation.git
synced 2026-01-31 09:18:29 +08:00
Compare commits
3 Commits
react-navi
...
react-navi
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
a7e0c193cd | ||
|
|
ac98c0a668 | ||
|
|
14a6538cc8 |
@@ -3,6 +3,14 @@
|
|||||||
All notable changes to this project will be documented in this file.
|
All notable changes to this project will be documented in this file.
|
||||||
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
||||||
|
|
||||||
|
## [0.5.8](https://github.com/react-navigation/react-navigation/compare/react-navigation-animated-switch@0.5.6...react-navigation-animated-switch@0.5.8) (2020-03-28)
|
||||||
|
|
||||||
|
**Note:** Version bump only for package react-navigation-animated-switch
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
## [0.5.7](https://github.com/react-navigation/react-navigation/compare/react-navigation-animated-switch@0.5.6...react-navigation-animated-switch@0.5.7) (2020-03-27)
|
## [0.5.7](https://github.com/react-navigation/react-navigation/compare/react-navigation-animated-switch@0.5.6...react-navigation-animated-switch@0.5.7) (2020-03-27)
|
||||||
|
|
||||||
**Note:** Version bump only for package react-navigation-animated-switch
|
**Note:** Version bump only for package react-navigation-animated-switch
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "react-navigation-animated-switch",
|
"name": "react-navigation-animated-switch",
|
||||||
"version": "0.5.7",
|
"version": "0.5.8",
|
||||||
"description": "Animated switch for React Navigation",
|
"description": "Animated switch for React Navigation",
|
||||||
"main": "lib/commonjs/index.js",
|
"main": "lib/commonjs/index.js",
|
||||||
"react-native": "lib/module/index.js",
|
"react-native": "lib/module/index.js",
|
||||||
@@ -28,7 +28,7 @@
|
|||||||
"react": "~16.9.0",
|
"react": "~16.9.0",
|
||||||
"react-native": "~0.61.5",
|
"react-native": "~0.61.5",
|
||||||
"react-native-reanimated": "~1.7.0",
|
"react-native-reanimated": "~1.7.0",
|
||||||
"react-navigation": "^4.3.4",
|
"react-navigation": "^4.3.5",
|
||||||
"typescript": "~3.7.5"
|
"typescript": "~3.7.5"
|
||||||
},
|
},
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
|
|||||||
@@ -3,6 +3,20 @@
|
|||||||
All notable changes to this project will be documented in this file.
|
All notable changes to this project will be documented in this file.
|
||||||
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
||||||
|
|
||||||
|
## [3.7.3](https://github.com/react-navigation/react-navigation-core/compare/@react-navigation/core@3.7.1...@react-navigation/core@3.7.3) (2020-03-28)
|
||||||
|
|
||||||
|
|
||||||
|
### Bug Fixes
|
||||||
|
|
||||||
|
* always emit didFocus/didBlur for root navigator ([ac98c0a](https://github.com/react-navigation/react-navigation-core/commit/ac98c0a668fe21200d0c6f62ae3043f92cc5aa7e))
|
||||||
|
* don't handle prune if there's only one route ([d2433f0](https://github.com/react-navigation/react-navigation-core/commit/d2433f0ab8f9791df8169de4ddfdeed9bc699e3e))
|
||||||
|
* emit didFocus and didBlur events based on parent's transition ([14a6538](https://github.com/react-navigation/react-navigation-core/commit/14a6538cc8e12c50d5d10722d75c9395a0a281ec))
|
||||||
|
* rework focus and blur events to make them more reliable ([cd08338](https://github.com/react-navigation/react-navigation-core/commit/cd083381866506a192f1ec842ac169f2b4277ca5)), closes [#4867](https://github.com/react-navigation/react-navigation-core/issues/4867) [#6187](https://github.com/react-navigation/react-navigation-core/issues/6187) [#6451](https://github.com/react-navigation/react-navigation-core/issues/6451) [#7628](https://github.com/react-navigation/react-navigation-core/issues/7628) [#7749](https://github.com/react-navigation/react-navigation-core/issues/7749)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
## [3.7.2](https://github.com/react-navigation/react-navigation-core/compare/@react-navigation/core@3.7.1...@react-navigation/core@3.7.2) (2020-03-27)
|
## [3.7.2](https://github.com/react-navigation/react-navigation-core/compare/@react-navigation/core@3.7.1...@react-navigation/core@3.7.2) (2020-03-27)
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "@react-navigation/core",
|
"name": "@react-navigation/core",
|
||||||
"version": "3.7.2",
|
"version": "3.7.3",
|
||||||
"description": "Core utilities for the react-navigation framework",
|
"description": "Core utilities for the react-navigation framework",
|
||||||
"main": "lib/commonjs/index.js",
|
"main": "lib/commonjs/index.js",
|
||||||
"react-native": "lib/module/index.js",
|
"react-native": "lib/module/index.js",
|
||||||
|
|||||||
@@ -51,12 +51,24 @@ export default class NavigationEventManager extends React.Component {
|
|||||||
'willBlur',
|
'willBlur',
|
||||||
this._handleWillBlur
|
this._handleWillBlur
|
||||||
);
|
);
|
||||||
|
|
||||||
|
this._didFocusSubscription = navigation.addListener(
|
||||||
|
'didFocus',
|
||||||
|
this._handleDidFocus
|
||||||
|
);
|
||||||
|
|
||||||
|
this._didBlurSubscription = navigation.addListener(
|
||||||
|
'didBlur',
|
||||||
|
this._handleDidBlur
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
componentWillUnmount() {
|
componentWillUnmount() {
|
||||||
this._actionSubscription?.remove();
|
this._actionSubscription?.remove();
|
||||||
this._willFocusSubscription?.remove();
|
this._willFocusSubscription?.remove();
|
||||||
this._willBlurSubscription?.remove();
|
this._willBlurSubscription?.remove();
|
||||||
|
this._didFocusSubscription?.remove();
|
||||||
|
this._didBlurSubscription?.remove();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -74,6 +86,16 @@ export default class NavigationEventManager extends React.Component {
|
|||||||
*/
|
*/
|
||||||
_willBlurSubscription;
|
_willBlurSubscription;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @type {{ remove(): void } | undefined}
|
||||||
|
*/
|
||||||
|
_didFocusSubscription;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @type {{ remove(): void } | undefined}
|
||||||
|
*/
|
||||||
|
_didBlurSubscription;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @type {string | undefined}
|
* @type {string | undefined}
|
||||||
*/
|
*/
|
||||||
@@ -84,6 +106,16 @@ export default class NavigationEventManager extends React.Component {
|
|||||||
*/
|
*/
|
||||||
_lastWillFocusKey;
|
_lastWillFocusKey;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @type {string | undefined}
|
||||||
|
*/
|
||||||
|
_lastDidBlurKey;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @type {string | undefined}
|
||||||
|
*/
|
||||||
|
_lastDidFocusKey;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The 'action' event will fire when navigation state changes.
|
* The 'action' event will fire when navigation state changes.
|
||||||
* Detect if the focused route changed here and emit appropriate events.
|
* Detect if the focused route changed here and emit appropriate events.
|
||||||
@@ -113,10 +145,10 @@ export default class NavigationEventManager extends React.Component {
|
|||||||
};
|
};
|
||||||
|
|
||||||
if (previous?.key !== current.key) {
|
if (previous?.key !== current.key) {
|
||||||
this._emitFocus(current.key, payload);
|
this._emitWillFocus(current.key, payload);
|
||||||
|
|
||||||
if (previous?.key) {
|
if (previous?.key) {
|
||||||
this._emitBlur(previous.key, payload);
|
this._emitWillBlur(previous.key, payload);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -125,11 +157,11 @@ export default class NavigationEventManager extends React.Component {
|
|||||||
state.isTransitioning === false
|
state.isTransitioning === false
|
||||||
) {
|
) {
|
||||||
if (this._lastWillBlurKey) {
|
if (this._lastWillBlurKey) {
|
||||||
onEvent(this._lastWillBlurKey, 'didBlur', payload);
|
this._emitDidBlur(this._lastWillBlurKey, payload);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (this._lastWillFocusKey) {
|
if (this._lastWillFocusKey) {
|
||||||
onEvent(this._lastWillFocusKey, 'didFocus', payload);
|
this._emitDidFocus(this._lastWillFocusKey, payload);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -143,7 +175,7 @@ export default class NavigationEventManager extends React.Component {
|
|||||||
const { navigation } = this.props;
|
const { navigation } = this.props;
|
||||||
const route = navigation.state.routes[navigation.state.index];
|
const route = navigation.state.routes[navigation.state.index];
|
||||||
|
|
||||||
this._emitFocus(route.key, {
|
this._emitWillFocus(route.key, {
|
||||||
context: `${route.key}:${action.type}_${context || 'Root'}`,
|
context: `${route.key}:${action.type}_${context || 'Root'}`,
|
||||||
state: route,
|
state: route,
|
||||||
lastState: lastState?.routes?.find((r) => r.key === route.key),
|
lastState: lastState?.routes?.find((r) => r.key === route.key),
|
||||||
@@ -159,7 +191,7 @@ export default class NavigationEventManager extends React.Component {
|
|||||||
const { navigation } = this.props;
|
const { navigation } = this.props;
|
||||||
const route = navigation.state.routes[navigation.state.index];
|
const route = navigation.state.routes[navigation.state.index];
|
||||||
|
|
||||||
this._emitBlur(route.key, {
|
this._emitWillBlur(route.key, {
|
||||||
context: `${route.key}:${action.type}_${context || 'Root'}`,
|
context: `${route.key}:${action.type}_${context || 'Root'}`,
|
||||||
state: route,
|
state: route,
|
||||||
lastState: lastState?.routes?.find((r) => r.key === route.key),
|
lastState: lastState?.routes?.find((r) => r.key === route.key),
|
||||||
@@ -168,11 +200,57 @@ export default class NavigationEventManager extends React.Component {
|
|||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param {ParentPayload} payload
|
||||||
|
*/
|
||||||
|
_handleDidFocus = ({ lastState, action, context, type }) => {
|
||||||
|
const { navigation } = this.props;
|
||||||
|
|
||||||
|
if (this._lastWillFocusKey) {
|
||||||
|
const route = navigation.state.routes.find(
|
||||||
|
(r) => r.key === this._lastWillFocusKey
|
||||||
|
);
|
||||||
|
|
||||||
|
if (route) {
|
||||||
|
this._emitDidFocus(route.key, {
|
||||||
|
context: `${route.key}:${action.type}_${context || 'Root'}`,
|
||||||
|
state: route,
|
||||||
|
lastState: lastState?.routes?.find((r) => r.key === route.key),
|
||||||
|
action,
|
||||||
|
type,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param {ParentPayload} payload
|
||||||
|
*/
|
||||||
|
_handleDidBlur = ({ lastState, action, context, type }) => {
|
||||||
|
const { navigation } = this.props;
|
||||||
|
|
||||||
|
if (this._lastWillBlurKey) {
|
||||||
|
const route = navigation.state.routes.find(
|
||||||
|
(r) => r.key === this._lastWillBlurKey
|
||||||
|
);
|
||||||
|
|
||||||
|
if (route) {
|
||||||
|
this._emitDidBlur(route.key, {
|
||||||
|
context: `${route.key}:${action.type}_${context || 'Root'}`,
|
||||||
|
state: route,
|
||||||
|
lastState: lastState?.routes?.find((r) => r.key === route.key),
|
||||||
|
action,
|
||||||
|
type,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param {string} target
|
* @param {string} target
|
||||||
* @param {Payload} payload
|
* @param {Payload} payload
|
||||||
*/
|
*/
|
||||||
_emitFocus = (target, payload) => {
|
_emitWillFocus = (target, payload) => {
|
||||||
if (this._lastWillBlurKey === target) {
|
if (this._lastWillBlurKey === target) {
|
||||||
this._lastWillBlurKey = undefined;
|
this._lastWillBlurKey = undefined;
|
||||||
}
|
}
|
||||||
@@ -181,14 +259,19 @@ export default class NavigationEventManager extends React.Component {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
this._lastDidFocusKey = undefined;
|
||||||
this._lastWillFocusKey = target;
|
this._lastWillFocusKey = target;
|
||||||
|
|
||||||
const { navigation, onEvent } = this.props;
|
const { navigation, onEvent } = this.props;
|
||||||
|
|
||||||
onEvent(target, 'willFocus', payload);
|
onEvent(target, 'willFocus', payload);
|
||||||
|
|
||||||
if (typeof navigation.state.isTransitioning !== 'boolean') {
|
if (
|
||||||
onEvent(target, 'didFocus', payload);
|
typeof navigation.state.isTransitioning !== 'boolean' ||
|
||||||
|
(navigation.state.isTransitioning !== true &&
|
||||||
|
!navigation.dangerouslyGetParent())
|
||||||
|
) {
|
||||||
|
this._emitDidFocus(target, payload);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -196,7 +279,7 @@ export default class NavigationEventManager extends React.Component {
|
|||||||
* @param {string} target
|
* @param {string} target
|
||||||
* @param {Payload} payload
|
* @param {Payload} payload
|
||||||
*/
|
*/
|
||||||
_emitBlur = (target, payload) => {
|
_emitWillBlur = (target, payload) => {
|
||||||
if (this._lastWillFocusKey === target) {
|
if (this._lastWillFocusKey === target) {
|
||||||
this._lastWillFocusKey = undefined;
|
this._lastWillFocusKey = undefined;
|
||||||
}
|
}
|
||||||
@@ -205,17 +288,54 @@ export default class NavigationEventManager extends React.Component {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
this._lastDidBlurKey = undefined;
|
||||||
this._lastWillBlurKey = target;
|
this._lastWillBlurKey = target;
|
||||||
|
|
||||||
const { navigation, onEvent } = this.props;
|
const { navigation, onEvent } = this.props;
|
||||||
|
|
||||||
onEvent(target, 'willBlur', payload);
|
onEvent(target, 'willBlur', payload);
|
||||||
|
|
||||||
if (typeof navigation.state.isTransitioning !== 'boolean') {
|
if (
|
||||||
onEvent(target, 'didBlur', payload);
|
typeof navigation.state.isTransitioning !== 'boolean' ||
|
||||||
|
(navigation.state.isTransitioning !== true &&
|
||||||
|
!navigation.dangerouslyGetParent())
|
||||||
|
) {
|
||||||
|
this._emitDidBlur(target, payload);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param {string} target
|
||||||
|
* @param {Payload} payload
|
||||||
|
*/
|
||||||
|
_emitDidFocus = (target, payload) => {
|
||||||
|
if (this._lastWillFocusKey !== target || this._lastDidFocusKey === target) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
this._lastDidFocusKey = target;
|
||||||
|
|
||||||
|
const { onEvent } = this.props;
|
||||||
|
|
||||||
|
onEvent(target, 'didFocus', payload);
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param {string} target
|
||||||
|
* @param {Payload} payload
|
||||||
|
*/
|
||||||
|
_emitDidBlur = (target, payload) => {
|
||||||
|
if (this._lastWillBlurKey !== target || this._lastDidBlurKey === target) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
this._lastDidBlurKey = target;
|
||||||
|
|
||||||
|
const { onEvent } = this.props;
|
||||||
|
|
||||||
|
onEvent(target, 'didBlur', payload);
|
||||||
|
};
|
||||||
|
|
||||||
render() {
|
render() {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,6 +3,14 @@
|
|||||||
All notable changes to this project will be documented in this file.
|
All notable changes to this project will be documented in this file.
|
||||||
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
||||||
|
|
||||||
|
## [2.4.9](https://github.com/react-navigation/drawer/compare/react-navigation-drawer@2.4.7...react-navigation-drawer@2.4.9) (2020-03-28)
|
||||||
|
|
||||||
|
**Note:** Version bump only for package react-navigation-drawer
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
## [2.4.8](https://github.com/react-navigation/drawer/compare/react-navigation-drawer@2.4.7...react-navigation-drawer@2.4.8) (2020-03-27)
|
## [2.4.8](https://github.com/react-navigation/drawer/compare/react-navigation-drawer@2.4.7...react-navigation-drawer@2.4.8) (2020-03-27)
|
||||||
|
|
||||||
**Note:** Version bump only for package react-navigation-drawer
|
**Note:** Version bump only for package react-navigation-drawer
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "react-navigation-drawer",
|
"name": "react-navigation-drawer",
|
||||||
"version": "2.4.8",
|
"version": "2.4.9",
|
||||||
"description": "Drawer navigator component for React Navigation",
|
"description": "Drawer navigator component for React Navigation",
|
||||||
"main": "lib/commonjs/index.js",
|
"main": "lib/commonjs/index.js",
|
||||||
"react-native": "lib/module/index.js",
|
"react-native": "lib/module/index.js",
|
||||||
@@ -49,7 +49,7 @@
|
|||||||
"react-native-reanimated": "^1.2.0",
|
"react-native-reanimated": "^1.2.0",
|
||||||
"react-native-screens": "^2.3.0",
|
"react-native-screens": "^2.3.0",
|
||||||
"react-native-testing-library": "^1.12.0",
|
"react-native-testing-library": "^1.12.0",
|
||||||
"react-navigation": "^4.3.4",
|
"react-navigation": "^4.3.5",
|
||||||
"typescript": "~3.7.5"
|
"typescript": "~3.7.5"
|
||||||
},
|
},
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
|
|||||||
@@ -3,6 +3,14 @@
|
|||||||
All notable changes to this project will be documented in this file.
|
All notable changes to this project will be documented in this file.
|
||||||
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
||||||
|
|
||||||
|
## [2.2.8](https://github.com/react-navigation/react-navigation-material-bottom-tabs/compare/react-navigation-material-bottom-tabs@2.2.6...react-navigation-material-bottom-tabs@2.2.8) (2020-03-28)
|
||||||
|
|
||||||
|
**Note:** Version bump only for package react-navigation-material-bottom-tabs
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
## [2.2.7](https://github.com/react-navigation/react-navigation-material-bottom-tabs/compare/react-navigation-material-bottom-tabs@2.2.6...react-navigation-material-bottom-tabs@2.2.7) (2020-03-27)
|
## [2.2.7](https://github.com/react-navigation/react-navigation-material-bottom-tabs/compare/react-navigation-material-bottom-tabs@2.2.6...react-navigation-material-bottom-tabs@2.2.7) (2020-03-27)
|
||||||
|
|
||||||
**Note:** Version bump only for package react-navigation-material-bottom-tabs
|
**Note:** Version bump only for package react-navigation-material-bottom-tabs
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "react-navigation-material-bottom-tabs",
|
"name": "react-navigation-material-bottom-tabs",
|
||||||
"version": "2.2.7",
|
"version": "2.2.8",
|
||||||
"description": "Material Bottom Tab Navigation component for React Navigation",
|
"description": "Material Bottom Tab Navigation component for React Navigation",
|
||||||
"main": "lib/commonjs/index.js",
|
"main": "lib/commonjs/index.js",
|
||||||
"module": "lib/module/index.js",
|
"module": "lib/module/index.js",
|
||||||
@@ -48,7 +48,7 @@
|
|||||||
"react-native-gesture-handler": "^1.6.0",
|
"react-native-gesture-handler": "^1.6.0",
|
||||||
"react-native-paper": "^3.1.1",
|
"react-native-paper": "^3.1.1",
|
||||||
"react-native-reanimated": "^1.2.0",
|
"react-native-reanimated": "^1.2.0",
|
||||||
"react-navigation": "^4.3.4",
|
"react-navigation": "^4.3.5",
|
||||||
"typescript": "~3.7.5"
|
"typescript": "~3.7.5"
|
||||||
},
|
},
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
|
|||||||
@@ -3,6 +3,17 @@
|
|||||||
All notable changes to this project will be documented in this file.
|
All notable changes to this project will be documented in this file.
|
||||||
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
||||||
|
|
||||||
|
## [3.7.9](https://github.com/react-navigation/react-navigation-native/compare/@react-navigation/native@3.7.7...@react-navigation/native@3.7.9) (2020-03-28)
|
||||||
|
|
||||||
|
|
||||||
|
### Bug Fixes
|
||||||
|
|
||||||
|
* rework focus and blur events to make them more reliable ([cd08338](https://github.com/react-navigation/react-navigation-native/commit/cd083381866506a192f1ec842ac169f2b4277ca5)), closes [#4867](https://github.com/react-navigation/react-navigation-native/issues/4867) [#6187](https://github.com/react-navigation/react-navigation-native/issues/6187) [#6451](https://github.com/react-navigation/react-navigation-native/issues/6451) [#7628](https://github.com/react-navigation/react-navigation-native/issues/7628) [#7749](https://github.com/react-navigation/react-navigation-native/issues/7749)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
## [3.7.8](https://github.com/react-navigation/react-navigation-native/compare/@react-navigation/native@3.7.7...@react-navigation/native@3.7.8) (2020-03-27)
|
## [3.7.8](https://github.com/react-navigation/react-navigation-native/compare/@react-navigation/native@3.7.7...@react-navigation/native@3.7.8) (2020-03-27)
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "@react-navigation/native",
|
"name": "@react-navigation/native",
|
||||||
"version": "3.7.8",
|
"version": "3.7.9",
|
||||||
"description": "React Native support for React Navigation",
|
"description": "React Native support for React Navigation",
|
||||||
"main": "lib/commonjs/index.js",
|
"main": "lib/commonjs/index.js",
|
||||||
"react-native": "lib/module/index.js",
|
"react-native": "lib/module/index.js",
|
||||||
@@ -40,7 +40,7 @@
|
|||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@react-native-community/bob": "^0.10.0",
|
"@react-native-community/bob": "^0.10.0",
|
||||||
"@react-navigation/core": "^3.7.2",
|
"@react-navigation/core": "^3.7.3",
|
||||||
"@types/react-test-renderer": "^16.9.2",
|
"@types/react-test-renderer": "^16.9.2",
|
||||||
"del-cli": "^3.0.0",
|
"del-cli": "^3.0.0",
|
||||||
"react": "~16.9.0",
|
"react": "~16.9.0",
|
||||||
|
|||||||
@@ -3,6 +3,14 @@
|
|||||||
All notable changes to this project will be documented in this file.
|
All notable changes to this project will be documented in this file.
|
||||||
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
||||||
|
|
||||||
|
## [4.3.5](https://github.com/react-navigation/react-navigation/compare/react-navigation@4.3.3...react-navigation@4.3.5) (2020-03-28)
|
||||||
|
|
||||||
|
**Note:** Version bump only for package react-navigation
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
## [4.3.4](https://github.com/react-navigation/react-navigation/compare/react-navigation@4.3.3...react-navigation@4.3.4) (2020-03-27)
|
## [4.3.4](https://github.com/react-navigation/react-navigation/compare/react-navigation@4.3.3...react-navigation@4.3.4) (2020-03-27)
|
||||||
|
|
||||||
**Note:** Version bump only for package react-navigation
|
**Note:** Version bump only for package react-navigation
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "react-navigation",
|
"name": "react-navigation",
|
||||||
"version": "4.3.4",
|
"version": "4.3.5",
|
||||||
"description": "Routing and navigation for your React Native apps",
|
"description": "Routing and navigation for your React Native apps",
|
||||||
"main": "src/index.js",
|
"main": "src/index.js",
|
||||||
"types": "typescript/react-navigation.d.ts",
|
"types": "typescript/react-navigation.d.ts",
|
||||||
@@ -24,8 +24,8 @@
|
|||||||
"react-native": "*"
|
"react-native": "*"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@react-navigation/core": "^3.7.2",
|
"@react-navigation/core": "^3.7.3",
|
||||||
"@react-navigation/native": "^3.7.8"
|
"@react-navigation/native": "^3.7.9"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@types/react": "^16.9.23",
|
"@types/react": "^16.9.23",
|
||||||
|
|||||||
@@ -3,6 +3,18 @@
|
|||||||
All notable changes to this project will be documented in this file.
|
All notable changes to this project will be documented in this file.
|
||||||
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
||||||
|
|
||||||
|
## [2.3.9](https://github.com/react-navigation/react-navigation-stack/compare/react-navigation-stack@2.3.7...react-navigation-stack@2.3.9) (2020-03-28)
|
||||||
|
|
||||||
|
|
||||||
|
### Bug Fixes
|
||||||
|
|
||||||
|
* emit didFocus and didBlur events based on parent's transition ([14a6538](https://github.com/react-navigation/react-navigation-stack/commit/14a6538cc8e12c50d5d10722d75c9395a0a281ec))
|
||||||
|
* rework focus and blur events to make them more reliable ([cd08338](https://github.com/react-navigation/react-navigation-stack/commit/cd083381866506a192f1ec842ac169f2b4277ca5)), closes [#4867](https://github.com/react-navigation/react-navigation-stack/issues/4867) [#6187](https://github.com/react-navigation/react-navigation-stack/issues/6187) [#6451](https://github.com/react-navigation/react-navigation-stack/issues/6451) [#7628](https://github.com/react-navigation/react-navigation-stack/issues/7628) [#7749](https://github.com/react-navigation/react-navigation-stack/issues/7749)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
## [2.3.8](https://github.com/react-navigation/react-navigation-stack/compare/react-navigation-stack@2.3.7...react-navigation-stack@2.3.8) (2020-03-27)
|
## [2.3.8](https://github.com/react-navigation/react-navigation-stack/compare/react-navigation-stack@2.3.7...react-navigation-stack@2.3.8) (2020-03-27)
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "react-navigation-stack",
|
"name": "react-navigation-stack",
|
||||||
"version": "2.3.8",
|
"version": "2.3.9",
|
||||||
"description": "Stack navigator component for React Navigation",
|
"description": "Stack navigator component for React Navigation",
|
||||||
"main": "lib/commonjs/index.js",
|
"main": "lib/commonjs/index.js",
|
||||||
"module": "lib/module/index.js",
|
"module": "lib/module/index.js",
|
||||||
@@ -56,7 +56,7 @@
|
|||||||
"react-native-gesture-handler": "^1.6.0",
|
"react-native-gesture-handler": "^1.6.0",
|
||||||
"react-native-safe-area-context": "^0.7.3",
|
"react-native-safe-area-context": "^0.7.3",
|
||||||
"react-native-screens": "^2.3.0",
|
"react-native-screens": "^2.3.0",
|
||||||
"react-navigation": "^4.3.4",
|
"react-navigation": "^4.3.5",
|
||||||
"react-test-renderer": "~16.9.0",
|
"react-test-renderer": "~16.9.0",
|
||||||
"typescript": "~3.7.5"
|
"typescript": "~3.7.5"
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -308,21 +308,21 @@ export default class StackView extends React.Component<Props, State> {
|
|||||||
return <HeaderContainer {...props} />;
|
return <HeaderContainer {...props} />;
|
||||||
};
|
};
|
||||||
|
|
||||||
private handleTransitionComplete = ({ route }: { route: Route<string> }) => {
|
private handleTransitionComplete = () => {
|
||||||
const { state, navigation } = this.props;
|
const { state, navigation } = this.props;
|
||||||
|
|
||||||
if (state.isTransitioning) {
|
if (state.isTransitioning) {
|
||||||
navigation.dispatch(
|
navigation.dispatch(
|
||||||
StackActions.completeTransition({
|
StackActions.completeTransition({
|
||||||
key: navigation.state.key,
|
key: navigation.state.key,
|
||||||
toChildKey: route.key,
|
toChildKey: state.routes[state.index].key,
|
||||||
})
|
})
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
private handleOpenRoute = ({ route }: { route: Route<string> }) => {
|
private handleOpenRoute = ({ route }: { route: Route<string> }) => {
|
||||||
this.handleTransitionComplete({ route });
|
this.handleTransitionComplete();
|
||||||
this.setState((state) => ({
|
this.setState((state) => ({
|
||||||
routes: state.replacingRouteKeys.length
|
routes: state.replacingRouteKeys.length
|
||||||
? state.routes.filter((r) => !state.replacingRouteKeys.includes(r.key))
|
? state.routes.filter((r) => !state.replacingRouteKeys.includes(r.key))
|
||||||
@@ -347,13 +347,7 @@ export default class StackView extends React.Component<Props, State> {
|
|||||||
// @ts-ignore
|
// @ts-ignore
|
||||||
navigation.dispatch(StackActions.pop({ key: route.key, prune: false }));
|
navigation.dispatch(StackActions.pop({ key: route.key, prune: false }));
|
||||||
} else {
|
} else {
|
||||||
// While closing route we need to point to the previous one assuming that
|
this.handleTransitionComplete();
|
||||||
// this previous one in routes array
|
|
||||||
const index = this.state.routes.findIndex((r) => r.key === route.key);
|
|
||||||
|
|
||||||
this.handleTransitionComplete({
|
|
||||||
route: this.state.routes[Math.max(index - 1, 0)],
|
|
||||||
});
|
|
||||||
|
|
||||||
// We need to clean up any state tracking the route and pop it immediately
|
// We need to clean up any state tracking the route and pop it immediately
|
||||||
this.setState((state) => ({
|
this.setState((state) => ({
|
||||||
|
|||||||
@@ -3,6 +3,14 @@
|
|||||||
All notable changes to this project will be documented in this file.
|
All notable changes to this project will be documented in this file.
|
||||||
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
||||||
|
|
||||||
|
## [2.8.9](https://github.com/react-navigation/tabs/compare/react-navigation-tabs@2.8.7...react-navigation-tabs@2.8.9) (2020-03-28)
|
||||||
|
|
||||||
|
**Note:** Version bump only for package react-navigation-tabs
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
## [2.8.8](https://github.com/react-navigation/tabs/compare/react-navigation-tabs@2.8.7...react-navigation-tabs@2.8.8) (2020-03-27)
|
## [2.8.8](https://github.com/react-navigation/tabs/compare/react-navigation-tabs@2.8.7...react-navigation-tabs@2.8.8) (2020-03-27)
|
||||||
|
|
||||||
**Note:** Version bump only for package react-navigation-tabs
|
**Note:** Version bump only for package react-navigation-tabs
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "react-navigation-tabs",
|
"name": "react-navigation-tabs",
|
||||||
"version": "2.8.8",
|
"version": "2.8.9",
|
||||||
"description": "Tab Navigation components for React Navigation",
|
"description": "Tab Navigation components for React Navigation",
|
||||||
"main": "lib/commonjs/index.js",
|
"main": "lib/commonjs/index.js",
|
||||||
"module": "lib/module/index.js",
|
"module": "lib/module/index.js",
|
||||||
@@ -56,7 +56,7 @@
|
|||||||
"react-native-gesture-handler": "^1.6.0",
|
"react-native-gesture-handler": "^1.6.0",
|
||||||
"react-native-reanimated": "^1.2.0",
|
"react-native-reanimated": "^1.2.0",
|
||||||
"react-native-tab-view": "^2.13.0",
|
"react-native-tab-view": "^2.13.0",
|
||||||
"react-navigation": "^4.3.4",
|
"react-navigation": "^4.3.5",
|
||||||
"typescript": "~3.7.5"
|
"typescript": "~3.7.5"
|
||||||
},
|
},
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
|
|||||||
Reference in New Issue
Block a user