@react-navigation/core 7.22.1 → 7.24.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/module/BaseNavigationContainer.js +50 -22
- package/lib/module/BaseNavigationContainer.js.map +1 -1
- package/lib/module/NavigationBuilderContext.js +7 -11
- package/lib/module/NavigationBuilderContext.js.map +1 -1
- package/lib/module/NavigationIndependentTree.js +41 -10
- package/lib/module/NavigationIndependentTree.js.map +1 -1
- package/lib/module/NavigationMetaContext.js +3 -3
- package/lib/module/NavigationProvider.js +2 -2
- package/lib/module/NavigationProvider.js.map +1 -1
- package/lib/module/NavigationStateContext.js.map +1 -1
- package/lib/module/PreventRemoveProvider.js +3 -4
- package/lib/module/PreventRemoveProvider.js.map +1 -1
- package/lib/module/SceneView.js +18 -16
- package/lib/module/SceneView.js.map +1 -1
- package/lib/module/StaticNavigation.js +53 -18
- package/lib/module/StaticNavigation.js.map +1 -1
- package/lib/module/isRecordEqual.js +1 -1
- package/lib/module/isRecordEqual.js.map +1 -1
- package/lib/module/useDescriptors.js +40 -15
- package/lib/module/useDescriptors.js.map +1 -1
- package/lib/module/useFocusedListenersChildrenAdapter.js +2 -2
- package/lib/module/useFocusedListenersChildrenAdapter.js.map +1 -1
- package/lib/module/useNavigationBuilder.js +3 -2
- package/lib/module/useNavigationBuilder.js.map +1 -1
- package/lib/module/useNavigationCache.js +14 -26
- package/lib/module/useNavigationCache.js.map +1 -1
- package/lib/module/useNavigationHelpers.js +17 -7
- package/lib/module/useNavigationHelpers.js.map +1 -1
- package/lib/module/useNavigationState.js +1 -1
- package/lib/module/useNavigationState.js.map +1 -1
- package/lib/module/useOnAction.js +2 -2
- package/lib/module/useOnAction.js.map +1 -1
- package/lib/module/useOnGetState.js +2 -2
- package/lib/module/useOnGetState.js.map +1 -1
- package/lib/module/useOnPreventRemove.js +2 -2
- package/lib/module/useOnPreventRemove.js.map +1 -1
- package/lib/module/useOnRouteFocus.js +2 -2
- package/lib/module/useOnRouteFocus.js.map +1 -1
- package/lib/module/useOptionsGetters.js +4 -8
- package/lib/module/useOptionsGetters.js.map +1 -1
- package/lib/module/usePreventRemove.js +1 -2
- package/lib/module/usePreventRemove.js.map +1 -1
- package/lib/module/useRegisterNavigator.js +1 -2
- package/lib/module/useRegisterNavigator.js.map +1 -1
- package/lib/module/useScheduleUpdate.js +2 -2
- package/lib/module/useScheduleUpdate.js.map +1 -1
- package/lib/typescript/src/BaseNavigationContainer.d.ts.map +1 -1
- package/lib/typescript/src/NavigationBuilderContext.d.ts +11 -7
- package/lib/typescript/src/NavigationBuilderContext.d.ts.map +1 -1
- package/lib/typescript/src/NavigationIndependentTree.d.ts.map +1 -1
- package/lib/typescript/src/NavigationMetaContext.d.ts +3 -3
- package/lib/typescript/src/NavigationProvider.d.ts.map +1 -1
- package/lib/typescript/src/NavigationStateContext.d.ts +0 -1
- package/lib/typescript/src/NavigationStateContext.d.ts.map +1 -1
- package/lib/typescript/src/PreventRemoveProvider.d.ts.map +1 -1
- package/lib/typescript/src/SceneView.d.ts.map +1 -1
- package/lib/typescript/src/StaticNavigation.d.ts.map +1 -1
- package/lib/typescript/src/isRecordEqual.d.ts.map +1 -1
- package/lib/typescript/src/useDescriptors.d.ts.map +1 -1
- package/lib/typescript/src/useNavigationBuilder.d.ts.map +1 -1
- package/lib/typescript/src/useNavigationCache.d.ts.map +1 -1
- package/lib/typescript/src/useNavigationHelpers.d.ts.map +1 -1
- package/lib/typescript/src/useNavigationState.d.ts +5 -0
- package/lib/typescript/src/useNavigationState.d.ts.map +1 -1
- package/lib/typescript/src/useOnRouteFocus.d.ts.map +1 -1
- package/lib/typescript/src/useOptionsGetters.d.ts +2 -0
- package/lib/typescript/src/useOptionsGetters.d.ts.map +1 -1
- package/lib/typescript/src/usePreventRemove.d.ts.map +1 -1
- package/lib/typescript/src/useRegisterNavigator.d.ts.map +1 -1
- package/lib/typescript/src/useScheduleUpdate.d.ts.map +1 -1
- package/package.json +3 -4
- package/src/BaseNavigationContainer.tsx +73 -33
- package/src/NavigationBuilderContext.tsx +27 -17
- package/src/NavigationIndependentTree.tsx +41 -13
- package/src/NavigationMetaContext.tsx +3 -3
- package/src/NavigationProvider.tsx +11 -8
- package/src/NavigationStateContext.tsx +0 -4
- package/src/PreventRemoveProvider.tsx +4 -10
- package/src/SceneView.tsx +18 -25
- package/src/StaticNavigation.tsx +71 -17
- package/src/isRecordEqual.tsx +3 -1
- package/src/useDescriptors.tsx +99 -27
- package/src/useFocusedListenersChildrenAdapter.tsx +2 -2
- package/src/useNavigationBuilder.tsx +3 -4
- package/src/useNavigationCache.tsx +13 -30
- package/src/useNavigationHelpers.tsx +18 -6
- package/src/useNavigationState.tsx +1 -1
- package/src/useOnAction.tsx +2 -2
- package/src/useOnGetState.tsx +2 -2
- package/src/useOnPreventRemove.tsx +2 -2
- package/src/useOnRouteFocus.tsx +2 -4
- package/src/useOptionsGetters.tsx +9 -6
- package/src/usePreventRemove.tsx +1 -2
- package/src/useRegisterNavigator.tsx +2 -2
- package/src/useScheduleUpdate.tsx +2 -4
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { nanoid } from 'nanoid/non-secure';
|
|
2
1
|
import * as React from 'react';
|
|
3
2
|
|
|
4
3
|
import { SingleNavigatorContext } from './EnsureSingleNavigator';
|
|
@@ -8,7 +7,8 @@ import { SingleNavigatorContext } from './EnsureSingleNavigator';
|
|
|
8
7
|
* This is used to prevent multiple navigators under a single container or screen.
|
|
9
8
|
*/
|
|
10
9
|
export function useRegisterNavigator() {
|
|
11
|
-
const
|
|
10
|
+
const key = React.useId();
|
|
11
|
+
|
|
12
12
|
const container = React.useContext(SingleNavigatorContext);
|
|
13
13
|
|
|
14
14
|
if (container === undefined) {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
|
|
3
|
-
import {
|
|
3
|
+
import { useNavigationBuilderContext } from './NavigationBuilderContext';
|
|
4
4
|
import { useClientLayoutEffect } from './useClientLayoutEffect';
|
|
5
5
|
|
|
6
6
|
/**
|
|
@@ -12,9 +12,7 @@ import { useClientLayoutEffect } from './useClientLayoutEffect';
|
|
|
12
12
|
* This lets nested updates be applied from the root down without clobbering each other.
|
|
13
13
|
*/
|
|
14
14
|
export function useScheduleUpdate(callback: () => void) {
|
|
15
|
-
const { scheduleUpdate, flushUpdates } =
|
|
16
|
-
NavigationBuilderContext
|
|
17
|
-
);
|
|
15
|
+
const { scheduleUpdate, flushUpdates } = useNavigationBuilderContext();
|
|
18
16
|
|
|
19
17
|
React.useInsertionEffect(() => {
|
|
20
18
|
scheduleUpdate(callback);
|