mirror of
https://github.com/zhigang1992/react-navigation.git
synced 2026-01-19 18:38:16 +08:00
Compare commits
20 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
57d2bbeb96 | ||
|
|
e3c38aefe8 | ||
|
|
fb7da05beb | ||
|
|
5d097b92f4 | ||
|
|
60618d5d1d | ||
|
|
28e1753434 | ||
|
|
48b1bd965b | ||
|
|
6e80d7c75a | ||
|
|
1c75f17a86 | ||
|
|
e542c84e29 | ||
|
|
a7265155bd | ||
|
|
69e40950b1 | ||
|
|
3deec699ee | ||
|
|
2c875e39ae | ||
|
|
8788dd77b4 | ||
|
|
71cb16dc7f | ||
|
|
445dcfcdf2 | ||
|
|
ec97b610c5 | ||
|
|
b9f50bd012 | ||
|
|
dbf165dbe7 |
59
CHANGELOG.md
59
CHANGELOG.md
@@ -7,6 +7,55 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
|
||||
|
||||
## [Unreleased]
|
||||
|
||||
## [3.8.1] - [2019-04-12](https://github.com/react-navigation/react-navigation/releases/tag/3.8.1)
|
||||
|
||||
## Changed
|
||||
|
||||
- Add missing type for `enableURLHandling` to TypeScript definition (#5803)
|
||||
- Update Flow types (#5806)
|
||||
|
||||
## [3.8.0] - [2019-04-12](https://github.com/react-navigation/react-navigation/releases/tag/3.8.0)
|
||||
|
||||
## Fixes
|
||||
|
||||
- `onRefresh` on exported lists `FlatList` and `SectionList` works as expected now (no need to add `refreshControl` prop explicitly)
|
||||
- On Android, the exported `ScrollView` is now same as the React Native ScrollView (but with scroll-to-top behavior added), whereas on iOS we still use react-native-gesture-handler ScrollView. We can change Android back to react-native-gesture-handler ScrollView when https://github.com/kmagiera/react-native-gesture-handler/issues/560 is resolved.
|
||||
- Look for `scrollResponderScrollTo` function in our ScrollView, in react-native 0.59 the interface appears to have changed for FlatList such that this is needed. (react-navigation-native#20)
|
||||
|
||||
## Changed
|
||||
|
||||
- Stack header style improvements for web (react-navigation-stack#104)
|
||||
|
||||
## [3.7.1] - [2019-04-10](https://github.com/react-navigation/react-navigation/releases/tag/3.7.1)
|
||||
|
||||
## Fixes
|
||||
|
||||
- Update Flow types (#5800 and #5801)
|
||||
- More open `navigationOptions` types for bottom tab navigator config (#5796)
|
||||
- Fix hit slop for bottom tab bar (react-navigation-tabs#110)
|
||||
|
||||
## Added
|
||||
|
||||
- Add accessibility role and state to bottom bar (react-navigation-tabs#90)
|
||||
- Hide tab bar when keyboard is shown (react-navigation-tabs#112)
|
||||
- Specify default values for getAccessibilityX on tabs (react-navigation-tabs##116)
|
||||
- Add a isFirstRouteInParent method to navigation object (react-navigation-core#51)
|
||||
|
||||
## [3.6.1] - [2019-04-02](https://github.com/react-navigation/react-navigation/releases/tag/3.6.1)
|
||||
|
||||
## Fixed
|
||||
|
||||
- Move event subscriptions to constructor in `withNavigationFocus` to ensure initial `didFocus` event is received.
|
||||
|
||||
## [3.6.0] - [2019-03-31](https://github.com/react-navigation/react-navigation/releases/tag/3.6.0)
|
||||
|
||||
## Added
|
||||
|
||||
- Export TabBarIconProps, TabBarLabelProps, DrawerIconProps, DrawerLabelProps, ScreenProps and InitialLayout.
|
||||
- Add `disabled` prop to HeaderBackButton
|
||||
- Add `StackViewTransitionConfigs.NoAnimation`
|
||||
- Add `drawerContainerStyle` to navigator config for drawer navigator
|
||||
|
||||
## [3.5.1] - [2019-03-19](https://github.com/react-navigation/react-navigation/releases/tag/3.5.1)
|
||||
|
||||
## Added
|
||||
@@ -18,7 +67,6 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
|
||||
|
||||
- Fix header HeaderBackButton title TypeScript type
|
||||
|
||||
|
||||
## [3.5.0] - [2019-03-19](https://github.com/react-navigation/react-navigation/releases/tag/3.5.0)
|
||||
|
||||
## Fixed
|
||||
@@ -201,8 +249,13 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
|
||||
|
||||
- [2.x](https://github.com/react-navigation/react-navigation/blob/2.x/CHANGELOG.md)
|
||||
|
||||
[Unreleased]: https://github.com/react-navigation/react-navigation/compare/3.5.1...HEAD
|
||||
[3.5.0]: https://github.com/react-navigation/react-navigation/compare/3.5.0...3.5.1
|
||||
[Unreleased]: https://github.com/react-navigation/react-navigation/compare/3.8.1...HEAD
|
||||
[3.8.1]: https://github.com/react-navigation/react-navigation/compare/3.8.0...3.8.1
|
||||
[3.8.0]: https://github.com/react-navigation/react-navigation/compare/3.7.1...3.8.0
|
||||
[3.7.1]: https://github.com/react-navigation/react-navigation/compare/3.6.1...3.7.1
|
||||
[3.6.1]: https://github.com/react-navigation/react-navigation/compare/3.6.0...3.6.1
|
||||
[3.6.0]: https://github.com/react-navigation/react-navigation/compare/3.5.1...3.6.0
|
||||
[3.5.1]: https://github.com/react-navigation/react-navigation/compare/3.5.0...3.5.1
|
||||
[3.5.0]: https://github.com/react-navigation/react-navigation/compare/3.4.1...3.5.0
|
||||
[3.4.1]: https://github.com/react-navigation/react-navigation/compare/3.4.0...3.4.1
|
||||
[3.4.0]: https://github.com/react-navigation/react-navigation/compare/3.3.2...3.4.0
|
||||
|
||||
@@ -33,7 +33,7 @@ See our [Contributing Guide](CONTRIBUTING.md)!
|
||||
|
||||
#### Is this the only library available for navigation?
|
||||
|
||||
Certainly not! There other libraries - which, depending on your needs, can be better or worse suited for your project. Read more in the [alternative libraries](https://reactnavigation.org/docs/alternatives.html) documentation, and read React Navigation's [pitch & anti-pitch](https://reactnavigation.org/docs/pitch.html) to understand the tradeoffs.
|
||||
Certainly not! There are other libraries - which, depending on your needs, can be better or worse suited for your project. Read more in the [alternative libraries](https://reactnavigation.org/docs/alternatives.html) documentation, and read React Navigation's [pitch & anti-pitch](https://reactnavigation.org/docs/pitch.html) to understand the tradeoffs.
|
||||
|
||||
#### Can I use this library for web?
|
||||
|
||||
|
||||
@@ -5,6 +5,7 @@ import {
|
||||
StatusBar,
|
||||
StyleSheet,
|
||||
View,
|
||||
Platform,
|
||||
} from 'react-native';
|
||||
import { createStackNavigator, createSwitchNavigator } from 'react-navigation';
|
||||
import { Button } from './commonComponents/ButtonWithMargin';
|
||||
@@ -53,7 +54,7 @@ class HomeScreen extends React.Component<any, any> {
|
||||
};
|
||||
|
||||
signOutAsync = async () => {
|
||||
await AsyncStorage.clear();
|
||||
Platform.OS === 'ios' ? await AsyncStorage.getAllKeys().then(AsyncStorage.multiRemove) : await AsyncStorage.clear()
|
||||
this.props.navigation.navigate('Auth');
|
||||
};
|
||||
}
|
||||
@@ -73,7 +74,7 @@ class OtherScreen extends React.Component<any, any> {
|
||||
}
|
||||
|
||||
signOutAsync = async () => {
|
||||
await AsyncStorage.clear();
|
||||
Platform.OS === 'ios' ? await AsyncStorage.getAllKeys().then(AsyncStorage.multiRemove) : await AsyncStorage.clear()
|
||||
this.props.navigation.navigate('Auth');
|
||||
};
|
||||
}
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
81
flow/react-navigation.js
vendored
81
flow/react-navigation.js
vendored
@@ -238,6 +238,7 @@ declare module 'react-navigation' {
|
||||
*/
|
||||
index: number,
|
||||
routes: Array<NavigationRoute>,
|
||||
isTransitioning?: boolean,
|
||||
};
|
||||
|
||||
declare export type NavigationRoute =
|
||||
@@ -352,12 +353,8 @@ declare module 'react-navigation' {
|
||||
declare export type NavigationScreenComponent<
|
||||
Route: NavigationRoute,
|
||||
Options: {},
|
||||
Props: {}
|
||||
> = React$ComponentType<{
|
||||
...Props,
|
||||
...NavigationNavigatorProps<Options, Route>,
|
||||
}> &
|
||||
withOptionalNavigationOptions<Options>;
|
||||
Props: NavigationNavigatorProps<Options, Route>
|
||||
> = React$ComponentType<Props> & withOptionalNavigationOptions<Options>;
|
||||
|
||||
declare interface withRouter<State, Options> {
|
||||
router: NavigationRouter<State, Options>;
|
||||
@@ -366,11 +363,8 @@ declare module 'react-navigation' {
|
||||
declare export type NavigationNavigator<
|
||||
State: NavigationState,
|
||||
Options: {},
|
||||
Props: {}
|
||||
> = React$StatelessFunctionalComponent<{
|
||||
...Props,
|
||||
...NavigationNavigatorProps<Options, State>,
|
||||
}> &
|
||||
Props: NavigationNavigatorProps<Options, State>
|
||||
> = React$ComponentType<Props> &
|
||||
withRouter<State, Options> &
|
||||
withOptionalNavigationOptions<Options>;
|
||||
|
||||
@@ -407,7 +401,9 @@ declare module 'react-navigation' {
|
||||
NavigationSceneRendererProps & {
|
||||
mode: HeaderMode,
|
||||
router: NavigationRouter<NavigationState, NavigationStackScreenOptions>,
|
||||
getScreenDetails: NavigationScene => NavigationScreenDetails<NavigationStackScreenOptions>,
|
||||
getScreenDetails: NavigationScene => NavigationScreenDetails<
|
||||
NavigationStackScreenOptions
|
||||
>,
|
||||
leftInterpolator: (props: NavigationSceneRendererProps) => {},
|
||||
titleInterpolator: (props: NavigationSceneRendererProps) => {},
|
||||
rightInterpolator: (props: NavigationSceneRendererProps) => {},
|
||||
@@ -460,16 +456,22 @@ declare module 'react-navigation' {
|
||||
prevTransitionProps: ?NavigationTransitionProps,
|
||||
isModal: boolean
|
||||
) => TransitionConfig,
|
||||
onTransitionStart?: () => void,
|
||||
onTransitionEnd?: () => void,
|
||||
onTransitionStart?: (
|
||||
transitionProps: NavigationTransitionProps,
|
||||
prevTransitionProps: ?NavigationTransitionProps
|
||||
) => void,
|
||||
onTransitionEnd?: (
|
||||
transitionProps: NavigationTransitionProps,
|
||||
prevTransitionProps: ?NavigationTransitionProps
|
||||
) => void,
|
||||
transparentCard?: boolean,
|
||||
disableKeyboardHandling?: boolean,
|
||||
|};
|
||||
|
||||
declare export type StackNavigatorConfig = {|
|
||||
declare export type StackNavigatorConfig = $Shape<{|
|
||||
...NavigationStackViewConfig,
|
||||
...NavigationStackRouterConfig,
|
||||
|};
|
||||
|}>;
|
||||
|
||||
/**
|
||||
* Switch Navigator
|
||||
@@ -586,8 +588,8 @@ declare module 'react-navigation' {
|
||||
fallback?: $ElementType<
|
||||
$PropertyType<
|
||||
{|
|
||||
...{| params: {| [ParamName]: void |} |},
|
||||
...$Exact<S>,
|
||||
...{| params: {| [ParamName]: void |} |},
|
||||
|},
|
||||
'params'
|
||||
>,
|
||||
@@ -596,14 +598,14 @@ declare module 'react-navigation' {
|
||||
) => $ElementType<
|
||||
$PropertyType<
|
||||
{|
|
||||
...{| params: {| [ParamName]: void |} |},
|
||||
...$Exact<S>,
|
||||
...{| params: {| [ParamName]: void |} |},
|
||||
|},
|
||||
'params'
|
||||
>,
|
||||
ParamName
|
||||
>,
|
||||
dangerouslyGetParent: () => NavigationScreenProp<*>,
|
||||
dangerouslyGetParent: () => ?NavigationScreenProp<NavigationState>,
|
||||
isFocused: () => boolean,
|
||||
// Shared action creators that exist for all routers
|
||||
goBack: (routeKey?: ?string) => boolean,
|
||||
@@ -658,7 +660,9 @@ declare module 'react-navigation' {
|
||||
onWillBlur?: NavigationEventCallback,
|
||||
onDidBlur?: NavigationEventCallback,
|
||||
};
|
||||
declare export var NavigationEvents: React$ComponentType<_NavigationEventsProps>;
|
||||
declare export var NavigationEvents: React$ComponentType<
|
||||
_NavigationEventsProps
|
||||
>;
|
||||
|
||||
/**
|
||||
* Navigation container
|
||||
@@ -667,11 +671,8 @@ declare module 'react-navigation' {
|
||||
declare export type NavigationContainer<
|
||||
State: NavigationState,
|
||||
Options: {},
|
||||
Props: {}
|
||||
> = React$ComponentType<{
|
||||
...Props,
|
||||
...NavigationContainerProps<State, Options>,
|
||||
}> &
|
||||
Props: NavigationContainerProps<Options, State>
|
||||
> = React$ComponentType<Props> &
|
||||
withRouter<State, Options> &
|
||||
withOptionalNavigationOptions<Options>;
|
||||
|
||||
@@ -709,6 +710,7 @@ declare module 'react-navigation' {
|
||||
isStale: boolean,
|
||||
key: string,
|
||||
route: NavigationRoute,
|
||||
descriptor: ?NavigationDescriptor,
|
||||
};
|
||||
|
||||
declare export type NavigationTransitionProps = $Shape<{
|
||||
@@ -920,9 +922,9 @@ declare module 'react-navigation' {
|
||||
router: NavigationRouter<S, O>,
|
||||
};
|
||||
|
||||
declare type NavigationDescriptor = {
|
||||
declare export type NavigationDescriptor = {
|
||||
key: string,
|
||||
state: NavigationLeafRoute | NavigationStateRoute,
|
||||
state: NavigationRoute,
|
||||
navigation: NavigationScreenProp<*>,
|
||||
getComponent: () => React$ComponentType<{}>,
|
||||
};
|
||||
@@ -930,6 +932,7 @@ declare module 'react-navigation' {
|
||||
declare type NavigationView<O, S> = React$ComponentType<{
|
||||
descriptors: { [key: string]: NavigationDescriptor },
|
||||
navigation: NavigationScreenProp<S>,
|
||||
navigationConfig: *,
|
||||
}>;
|
||||
|
||||
declare export function createNavigator<O: *, S: *, NavigatorConfig: *>(
|
||||
@@ -1037,7 +1040,9 @@ declare module 'react-navigation' {
|
||||
*/
|
||||
transitionConfig?: () => TransitionConfig,
|
||||
} & NavigationNavigatorProps<NavigationStackScreenOptions, NavigationState>;
|
||||
declare export var CardStackTransitioner: React$ComponentType<_CardStackTransitionerProps>;
|
||||
declare export var CardStackTransitioner: React$ComponentType<
|
||||
_CardStackTransitionerProps
|
||||
>;
|
||||
|
||||
declare type _CardStackProps = {
|
||||
screenProps?: {},
|
||||
@@ -1108,7 +1113,9 @@ declare module 'react-navigation' {
|
||||
truncatedTitle?: ?string,
|
||||
width?: ?number,
|
||||
};
|
||||
declare export var HeaderBackButton: React$ComponentType<_HeaderBackButtonProps>;
|
||||
declare export var HeaderBackButton: React$ComponentType<
|
||||
_HeaderBackButtonProps
|
||||
>;
|
||||
|
||||
declare type _DrawerViewProps = {
|
||||
drawerLockMode?: 'unlocked' | 'locked-closed' | 'locked-open',
|
||||
@@ -1174,7 +1181,7 @@ declare module 'react-navigation' {
|
||||
};
|
||||
declare export var TabView: React$ComponentType<_TabViewProps>;
|
||||
|
||||
declare type _TabBarTopProps = {
|
||||
declare type _MaterialTopTabBarProps = {
|
||||
activeTintColor: string,
|
||||
inactiveTintColor: string,
|
||||
showIcon: boolean,
|
||||
@@ -1198,8 +1205,17 @@ declare module 'react-navigation' {
|
||||
labelStyle?: TextStyleProp,
|
||||
iconStyle?: ViewStyleProp,
|
||||
};
|
||||
declare export var TabBarTop: React$ComponentType<_TabBarTopProps>;
|
||||
declare export var MaterialTopTabBar: React$ComponentType<
|
||||
_MaterialTopTabBarProps
|
||||
>;
|
||||
|
||||
declare type _BottomTabBarButtonComponentProps = {
|
||||
onPress: () => void,
|
||||
onLongPress: () => void,
|
||||
testID: string,
|
||||
accessibilityLabel: string,
|
||||
style: ViewStyleProp,
|
||||
};
|
||||
declare type _BottomTabBarProps = {
|
||||
activeTintColor: string,
|
||||
activeBackgroundColor: string,
|
||||
@@ -1223,6 +1239,9 @@ declare module 'react-navigation' {
|
||||
}) => void,
|
||||
getTestIDProps: (scene: TabScene) => (scene: TabScene) => any,
|
||||
renderIcon: (scene: TabScene) => React$Node,
|
||||
getButtonComponent: (
|
||||
scene: TabScene
|
||||
) => React$ComponentType<_BottomTabBarButtonComponentProps>,
|
||||
style?: ViewStyleProp,
|
||||
animateStyle?: ViewStyleProp,
|
||||
labelStyle?: TextStyleProp,
|
||||
|
||||
13
package.json
13
package.json
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "react-navigation",
|
||||
"version": "3.5.1",
|
||||
"version": "3.8.1",
|
||||
"description": "Routing and navigation for your React Native apps",
|
||||
"main": "src/react-navigation.js",
|
||||
"types": "typescript/react-navigation.d.ts",
|
||||
@@ -36,11 +36,11 @@
|
||||
"react-native": "*"
|
||||
},
|
||||
"dependencies": {
|
||||
"@react-navigation/core": "3.2.0",
|
||||
"@react-navigation/native": "~3.3.0",
|
||||
"react-navigation-drawer": "1.3.0",
|
||||
"react-navigation-stack": "1.1.1",
|
||||
"react-navigation-tabs": "1.0.2"
|
||||
"@react-navigation/core": "~3.3.0",
|
||||
"@react-navigation/native": "~3.4.0",
|
||||
"react-navigation-drawer": "1.2.1",
|
||||
"react-navigation-stack": "1.3.0",
|
||||
"react-navigation-tabs": "1.1.2"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@types/react-native": "~0.57.38",
|
||||
@@ -50,7 +50,6 @@
|
||||
"babel-jest": "^22.4.1",
|
||||
"babel-preset-react-native": "^2.1.0",
|
||||
"codecov": "^2.2.0",
|
||||
"conventional-changelog-cli": "^2.0.5",
|
||||
"eslint": "^4.2.0",
|
||||
"eslint-config-prettier": "^2.9.0",
|
||||
"eslint-plugin-import": "^2.7.0",
|
||||
|
||||
86
typescript/react-navigation.d.ts
vendored
86
typescript/react-navigation.d.ts
vendored
@@ -66,10 +66,14 @@ declare module 'react-navigation' {
|
||||
|
||||
export const HeaderStyleInterpolator: HeaderStyleInterpolatorStatic;
|
||||
|
||||
export type ScreenProps = {
|
||||
[key: string]: any;
|
||||
}
|
||||
|
||||
// @todo - any..
|
||||
export function getActiveChildNavigationOptions<S>(
|
||||
navigation: NavigationProp<S>,
|
||||
screenProps?: object
|
||||
screenProps?: ScreenProps
|
||||
): NavigationParams;
|
||||
|
||||
// @todo when we split types into common, native and web,
|
||||
@@ -172,7 +176,7 @@ declare module 'react-navigation' {
|
||||
|
||||
export type NavigationScreenOptionsGetter<Options> = (
|
||||
navigation: NavigationScreenProp<NavigationRoute<any>>,
|
||||
screenProps?: { [key: string]: any }
|
||||
screenProps?: ScreenProps
|
||||
) => Options;
|
||||
|
||||
export interface NavigationRouter<State = NavigationState, Options = {}> {
|
||||
@@ -233,7 +237,7 @@ declare module 'react-navigation' {
|
||||
|
||||
export interface NavigationScreenConfigProps {
|
||||
navigation: NavigationScreenProp<NavigationRoute>;
|
||||
screenProps: { [key: string]: any };
|
||||
screenProps: ScreenProps;
|
||||
}
|
||||
|
||||
export type NavigationScreenConfig<Options> =
|
||||
@@ -545,14 +549,14 @@ declare module 'react-navigation' {
|
||||
export interface NavigationTabRouterConfig
|
||||
extends NavigationTabRouterConfigBase {
|
||||
defaultNavigationOptions?: NavigationScreenConfig<NavigationScreenOptions>;
|
||||
navigationOptions?: NavigationTabRouterConfigBase;
|
||||
navigationOptions?: NavigationScreenConfig<any>;
|
||||
}
|
||||
export interface NavigationBottomTabRouterConfig
|
||||
extends NavigationTabRouterConfigBase {
|
||||
defaultNavigationOptions?: NavigationScreenConfig<
|
||||
NavigationBottomTabScreenOptions
|
||||
>;
|
||||
navigationOptions?: NavigationTabRouterConfigBase;
|
||||
navigationOptions?: NavigationScreenConfig<any>;
|
||||
}
|
||||
export interface TabScene {
|
||||
route: NavigationRoute;
|
||||
@@ -560,23 +564,28 @@ declare module 'react-navigation' {
|
||||
index: number;
|
||||
tintColor?: string;
|
||||
}
|
||||
|
||||
export interface TabBarIconProps {
|
||||
tintColor: string | null;
|
||||
focused: boolean;
|
||||
horizontal: boolean;
|
||||
}
|
||||
|
||||
export interface TabBarLabelProps {
|
||||
tintColor: string | null;
|
||||
focused: boolean;
|
||||
}
|
||||
|
||||
// tslint:disable-next-line:strict-export-declare-modifiers
|
||||
interface NavigationTabScreenOptionsBase {
|
||||
title?: string;
|
||||
tabBarIcon?:
|
||||
| React.ReactElement<any>
|
||||
| ((options: {
|
||||
tintColor: string | null;
|
||||
focused: boolean;
|
||||
horizontal: boolean;
|
||||
}) => React.ReactElement<any> | null);
|
||||
| ((options: TabBarIconProps) => React.ReactElement<any> | null);
|
||||
tabBarLabel?:
|
||||
| string
|
||||
| React.ReactElement<any>
|
||||
| ((options: {
|
||||
tintColor: string | null;
|
||||
focused: boolean;
|
||||
}) => React.ReactElement<any> | string | null);
|
||||
| ((options: TabBarLabelProps) => React.ReactElement<any> | string | null);
|
||||
tabBarVisible?: boolean;
|
||||
tabBarTestIDProps?: { testID?: string; accessibilityLabel?: string };
|
||||
}
|
||||
@@ -608,21 +617,25 @@ declare module 'react-navigation' {
|
||||
|
||||
export type DrawerLockMode = 'unlocked' | 'locked-closed' | 'locked-open';
|
||||
|
||||
export interface DrawerIconProps {
|
||||
tintColor: string | null;
|
||||
focused: boolean;
|
||||
}
|
||||
|
||||
export interface DrawerLabelProps {
|
||||
tintColor: string | null;
|
||||
focused: boolean;
|
||||
}
|
||||
|
||||
export interface NavigationDrawerScreenOptions {
|
||||
title?: string;
|
||||
drawerIcon?:
|
||||
| React.ReactElement<any>
|
||||
| ((options: {
|
||||
tintColor: string | null;
|
||||
focused: boolean;
|
||||
}) => React.ReactElement<any> | null);
|
||||
| ((options: DrawerIconProps) => React.ReactElement<any> | null);
|
||||
drawerLabel?:
|
||||
| string
|
||||
| React.ReactElement<any>
|
||||
| ((options: {
|
||||
tintColor: string | null;
|
||||
focused: boolean;
|
||||
}) => React.ReactElement<any> | null);
|
||||
| ((options: DrawerLabelProps) => React.ReactElement<any> | null);
|
||||
drawerLockMode?: DrawerLockMode;
|
||||
}
|
||||
|
||||
@@ -723,7 +736,7 @@ declare module 'react-navigation' {
|
||||
export interface NavigationNavigatorProps<O = {}, S = {}> {
|
||||
detached?: boolean;
|
||||
navigation?: NavigationProp<S>;
|
||||
screenProps?: { [key: string]: any };
|
||||
screenProps?: ScreenProps;
|
||||
navigationOptions?: O;
|
||||
}
|
||||
|
||||
@@ -778,7 +791,7 @@ declare module 'react-navigation' {
|
||||
scene: NavigationScene;
|
||||
index: number;
|
||||
|
||||
screenProps?: { [key: string]: any };
|
||||
screenProps?: ScreenProps;
|
||||
}
|
||||
|
||||
// The scene renderer props are nearly identical to the props used for rendering
|
||||
@@ -834,6 +847,7 @@ declare module 'react-navigation' {
|
||||
ModalSlideFromBottomIOS: TransitionConfig;
|
||||
FadeInFromBottomAndroid: TransitionConfig;
|
||||
FadeOutToBottomAndroid: TransitionConfig;
|
||||
NoAnimation: TransitionConfig;
|
||||
}
|
||||
|
||||
export const StackViewTransitionConfigs: StackViewTransitionConfigsType;
|
||||
@@ -868,6 +882,12 @@ declare module 'react-navigation' {
|
||||
|
||||
export interface NavigationContainerProps<S = {}, O = {}> {
|
||||
uriPrefix?: string | RegExp;
|
||||
/**
|
||||
* Controls whether the navigation container handles URLs opened via 'Linking'
|
||||
* @see https://facebook.github.io/react-native/docs/linking
|
||||
* @see https://reactnavigation.org/docs/en/deep-linking.html
|
||||
*/
|
||||
enableURLHandling?: boolean; // defaults to true
|
||||
onNavigationStateChange?: (
|
||||
prevNavigationState: NavigationState,
|
||||
nextNavigationState: NavigationState,
|
||||
@@ -876,7 +896,7 @@ declare module 'react-navigation' {
|
||||
navigation?: NavigationScreenProp<S>;
|
||||
persistenceKey?: string | null;
|
||||
renderLoadingExperimental?: React.ComponentType;
|
||||
screenProps?: any;
|
||||
screenProps?: ScreenProps;
|
||||
navigationOptions?: O;
|
||||
style?: StyleProp<ViewStyle>;
|
||||
}
|
||||
@@ -898,7 +918,7 @@ declare module 'react-navigation' {
|
||||
): NavigationContainerComponent;
|
||||
|
||||
router: NavigationRouter<any, any>;
|
||||
screenProps: { [key: string]: any };
|
||||
screenProps: ScreenProps;
|
||||
navigationOptions: any;
|
||||
state: { nav: NavigationState | null };
|
||||
}
|
||||
@@ -1041,20 +1061,25 @@ declare module 'react-navigation' {
|
||||
lazy?: boolean;
|
||||
}
|
||||
|
||||
export interface InitialLayout {
|
||||
height: number;
|
||||
width: number;
|
||||
}
|
||||
|
||||
// From navigators/TabNavigator.js
|
||||
export interface TabNavigatorConfig
|
||||
extends NavigationTabRouterConfig,
|
||||
TabViewConfig {
|
||||
lazy?: boolean;
|
||||
removeClippedSubviews?: boolean;
|
||||
initialLayout?: { height: number; width: number };
|
||||
initialLayout?: InitialLayout;
|
||||
}
|
||||
export interface BottomTabNavigatorConfig
|
||||
extends NavigationBottomTabRouterConfig,
|
||||
TabViewConfig {
|
||||
lazy?: boolean;
|
||||
removeClippedSubviews?: boolean;
|
||||
initialLayout?: { height: number; width: number };
|
||||
initialLayout?: InitialLayout;
|
||||
}
|
||||
|
||||
// From navigators/TabNavigator.js
|
||||
@@ -1271,7 +1296,7 @@ declare module 'react-navigation' {
|
||||
{
|
||||
descriptors: { [key: string]: NavigationDescriptor };
|
||||
navigationConfig: O;
|
||||
screenProps?: { [key: string]: any };
|
||||
screenProps?: ScreenProps;
|
||||
} & NavigationInjectedProps
|
||||
>;
|
||||
|
||||
@@ -1316,7 +1341,7 @@ declare module 'react-navigation' {
|
||||
Options = any
|
||||
> {
|
||||
navigation: NavigationScreenProp<NavigationRoute<Params>, Params>;
|
||||
screenProps?: { [key: string]: any };
|
||||
screenProps?: ScreenProps;
|
||||
navigationOptions?: NavigationScreenConfig<Options>;
|
||||
}
|
||||
|
||||
@@ -1338,6 +1363,7 @@ declare module 'react-navigation' {
|
||||
tintColor?: string;
|
||||
truncatedTitle?: string;
|
||||
width?: number;
|
||||
disabled?: boolean;
|
||||
}
|
||||
|
||||
export const HeaderBackButton: React.ComponentClass<HeaderBackButtonProps>;
|
||||
|
||||
Reference in New Issue
Block a user