@react-navigation/core 7.11.0 → 7.12.1
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/useClientLayoutEffect.js +9 -0
- package/lib/module/useClientLayoutEffect.js.map +1 -0
- package/lib/module/useNavigationBuilder.js +8 -4
- package/lib/module/useNavigationBuilder.js.map +1 -1
- package/lib/module/useNavigationState.js +35 -7
- package/lib/module/useNavigationState.js.map +1 -1
- package/lib/module/useScheduleUpdate.js +2 -2
- package/lib/module/useScheduleUpdate.js.map +1 -1
- package/lib/typescript/src/useClientLayoutEffect.d.ts +6 -0
- package/lib/typescript/src/useClientLayoutEffect.d.ts.map +1 -0
- package/lib/typescript/src/useNavigationBuilder.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/package.json +2 -2
- package/src/useClientLayoutEffect.tsx +10 -0
- package/src/useNavigationBuilder.tsx +6 -3
- package/src/useNavigationState.tsx +58 -14
- package/src/useScheduleUpdate.tsx +2 -2
- package/lib/module/useIsomorphicLayoutEffect.js +0 -9
- package/lib/module/useIsomorphicLayoutEffect.js.map +0 -1
- package/lib/module/useIsomorphicLayoutEffect.native.js +0 -5
- package/lib/module/useIsomorphicLayoutEffect.native.js.map +0 -1
- package/lib/typescript/src/useIsomorphicLayoutEffect.d.ts +0 -6
- package/lib/typescript/src/useIsomorphicLayoutEffect.d.ts.map +0 -1
- package/lib/typescript/src/useIsomorphicLayoutEffect.native.d.ts +0 -3
- package/lib/typescript/src/useIsomorphicLayoutEffect.native.d.ts.map +0 -1
- package/src/useIsomorphicLayoutEffect.native.tsx +0 -3
- package/src/useIsomorphicLayoutEffect.tsx +0 -7
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import * as React from 'react';
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Use `useEffect` during SSR and `useLayoutEffect` in the Browser & React Native to avoid warnings.
|
|
7
|
+
*/
|
|
8
|
+
export const useClientLayoutEffect = typeof document !== 'undefined' || typeof navigator !== 'undefined' && navigator.product === 'ReactNative' ? React.useLayoutEffect : React.useEffect;
|
|
9
|
+
//# sourceMappingURL=useClientLayoutEffect.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","useClientLayoutEffect","document","navigator","product","useLayoutEffect","useEffect"],"sourceRoot":"../../src","sources":["useClientLayoutEffect.tsx"],"mappings":";;AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;;AAE9B;AACA;AACA;AACA,OAAO,MAAMC,qBAAqB,GAChC,OAAOC,QAAQ,KAAK,WAAW,IAC9B,OAAOC,SAAS,KAAK,WAAW,IAAIA,SAAS,CAACC,OAAO,KAAK,aAAc,GACrEJ,KAAK,CAACK,eAAe,GACrBL,KAAK,CAACM,SAAS","ignoreList":[]}
|
|
@@ -15,16 +15,17 @@ import { PreventRemoveProvider } from "./PreventRemoveProvider.js";
|
|
|
15
15
|
import { Screen } from "./Screen.js";
|
|
16
16
|
import { PrivateValueStore } from "./types.js";
|
|
17
17
|
import { useChildListeners } from "./useChildListeners.js";
|
|
18
|
+
import { useClientLayoutEffect } from "./useClientLayoutEffect.js";
|
|
18
19
|
import { useComponent } from "./useComponent.js";
|
|
19
20
|
import { useCurrentRender } from "./useCurrentRender.js";
|
|
20
21
|
import { useDescriptors } from "./useDescriptors.js";
|
|
21
22
|
import { useEventEmitter } from "./useEventEmitter.js";
|
|
22
23
|
import { useFocusedListenersChildrenAdapter } from "./useFocusedListenersChildrenAdapter.js";
|
|
23
24
|
import { useFocusEvents } from "./useFocusEvents.js";
|
|
24
|
-
import { useIsomorphicLayoutEffect } from './useIsomorphicLayoutEffect';
|
|
25
25
|
import { useKeyedChildListeners } from "./useKeyedChildListeners.js";
|
|
26
26
|
import { useLazyValue } from "./useLazyValue.js";
|
|
27
27
|
import { useNavigationHelpers } from "./useNavigationHelpers.js";
|
|
28
|
+
import { NavigationStateListenerProvider } from "./useNavigationState.js";
|
|
28
29
|
import { useOnAction } from "./useOnAction.js";
|
|
29
30
|
import { useOnGetState } from "./useOnGetState.js";
|
|
30
31
|
import { useOnRouteFocus } from "./useOnRouteFocus.js";
|
|
@@ -355,7 +356,7 @@ export function useNavigationBuilder(createRouter, options) {
|
|
|
355
356
|
// To avoid this, we use a ref for render phase, and immediately clear it on commit
|
|
356
357
|
const stateRef = React.useRef(state);
|
|
357
358
|
stateRef.current = state;
|
|
358
|
-
|
|
359
|
+
useClientLayoutEffect(() => {
|
|
359
360
|
stateRef.current = null;
|
|
360
361
|
});
|
|
361
362
|
const getState = useLatestCallback(() => {
|
|
@@ -486,8 +487,11 @@ export function useNavigationBuilder(createRouter, options) {
|
|
|
486
487
|
}) : children;
|
|
487
488
|
return /*#__PURE__*/_jsx(NavigationHelpersContext.Provider, {
|
|
488
489
|
value: navigation,
|
|
489
|
-
children: /*#__PURE__*/_jsx(
|
|
490
|
-
|
|
490
|
+
children: /*#__PURE__*/_jsx(NavigationStateListenerProvider, {
|
|
491
|
+
state: state,
|
|
492
|
+
children: /*#__PURE__*/_jsx(PreventRemoveProvider, {
|
|
493
|
+
children: element
|
|
494
|
+
})
|
|
491
495
|
})
|
|
492
496
|
});
|
|
493
497
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["CommonActions","React","isValidElementType","useLatestCallback","deepFreeze","Group","isArrayEqual","isRecordEqual","NavigationHelpersContext","NavigationRouteContext","NavigationStateContext","PreventRemoveProvider","Screen","PrivateValueStore","useChildListeners","useComponent","useCurrentRender","useDescriptors","useEventEmitter","useFocusedListenersChildrenAdapter","useFocusEvents","useIsomorphicLayoutEffect","useKeyedChildListeners","useLazyValue","useNavigationHelpers","useOnAction","useOnGetState","useOnRouteFocus","useRegisterNavigator","useScheduleUpdate","jsx","_jsx","isScreen","child","type","isGroup","Fragment","isValidKey","key","undefined","getRouteConfigsFromChildren","children","groupKey","groupOptions","groupLayout","configs","Children","toArray","reduce","acc","isValidElement","props","Error","name","JSON","stringify","navigationKey","push","keys","options","layout","screenOptions","screenLayout","String","process","env","NODE_ENV","forEach","config","component","getComponent","console","warn","test","useNavigationBuilder","createRouter","navigatorKey","route","useContext","screenListeners","UNSTABLE_router","rest","routeConfigs","router","initialRouteName","every","original","overrides","screens","routeNames","map","routeKeyList","curr","join","routeParamList","initialParams","routeGetIdList","Object","assign","getId","length","isStateValid","useCallback","state","isStateInitialized","stale","currentState","getState","getCurrentState","setState","setCurrentState","setKey","getKey","getIsInitial","stateCleanedUp","useRef","current","initializedState","isFirstStateInitialization","useMemo","initialRouteParamList","initialParamsFromParams","params","initial","screen","getInitialState","stateFromParams","index","routes","path","getRehydratedState","previousRouteKeyListRef","useEffect","previousRouteKeyList","nextState","getStateForRouteNamesChange","routeKeyChanges","filter","previousNestedParamsRef","previousParams","action","reset","navigate","merge","pop","updatedState","getStateForAction","shouldUpdate","stateRef","emitter","e","target","find","navigation","descriptors","listeners","concat","cb","i","self","lastIndexOf","listener","emit","data","childListeners","addListener","keyedListeners","addKeyedListener","onAction","actionListeners","beforeRemoveListeners","beforeRemove","routerConfigOptions","onRouteFocus","id","focusedListeners","focus","getStateListeners","describe","NavigationContent","element","Provider","value"],"sourceRoot":"../../src","sources":["useNavigationBuilder.tsx"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["CommonActions","React","isValidElementType","useLatestCallback","deepFreeze","Group","isArrayEqual","isRecordEqual","NavigationHelpersContext","NavigationRouteContext","NavigationStateContext","PreventRemoveProvider","Screen","PrivateValueStore","useChildListeners","useClientLayoutEffect","useComponent","useCurrentRender","useDescriptors","useEventEmitter","useFocusedListenersChildrenAdapter","useFocusEvents","useKeyedChildListeners","useLazyValue","useNavigationHelpers","NavigationStateListenerProvider","useOnAction","useOnGetState","useOnRouteFocus","useRegisterNavigator","useScheduleUpdate","jsx","_jsx","isScreen","child","type","isGroup","Fragment","isValidKey","key","undefined","getRouteConfigsFromChildren","children","groupKey","groupOptions","groupLayout","configs","Children","toArray","reduce","acc","isValidElement","props","Error","name","JSON","stringify","navigationKey","push","keys","options","layout","screenOptions","screenLayout","String","process","env","NODE_ENV","forEach","config","component","getComponent","console","warn","test","useNavigationBuilder","createRouter","navigatorKey","route","useContext","screenListeners","UNSTABLE_router","rest","routeConfigs","router","initialRouteName","every","original","overrides","screens","routeNames","map","routeKeyList","curr","join","routeParamList","initialParams","routeGetIdList","Object","assign","getId","length","isStateValid","useCallback","state","isStateInitialized","stale","currentState","getState","getCurrentState","setState","setCurrentState","setKey","getKey","getIsInitial","stateCleanedUp","useRef","current","initializedState","isFirstStateInitialization","useMemo","initialRouteParamList","initialParamsFromParams","params","initial","screen","getInitialState","stateFromParams","index","routes","path","getRehydratedState","previousRouteKeyListRef","useEffect","previousRouteKeyList","nextState","getStateForRouteNamesChange","routeKeyChanges","filter","previousNestedParamsRef","previousParams","action","reset","navigate","merge","pop","updatedState","getStateForAction","shouldUpdate","stateRef","emitter","e","target","find","navigation","descriptors","listeners","concat","cb","i","self","lastIndexOf","listener","emit","data","childListeners","addListener","keyedListeners","addKeyedListener","onAction","actionListeners","beforeRemoveListeners","beforeRemove","routerConfigOptions","onRouteFocus","id","focusedListeners","focus","getStateListeners","describe","NavigationContent","element","Provider","value"],"sourceRoot":"../../src","sources":["useNavigationBuilder.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,20 +1,48 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
import * as React from 'react';
|
|
4
|
+
import useLatestCallback from 'use-latest-callback';
|
|
4
5
|
import { useSyncExternalStoreWithSelector } from 'use-sync-external-store/with-selector';
|
|
5
|
-
import {
|
|
6
|
+
import { useClientLayoutEffect } from "./useClientLayoutEffect.js";
|
|
7
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
6
8
|
/**
|
|
7
9
|
* Hook to get a value from the current navigation state using a selector.
|
|
8
10
|
*
|
|
9
11
|
* @param selector Selector function to get a value from the state.
|
|
10
12
|
*/
|
|
11
13
|
export function useNavigationState(selector) {
|
|
12
|
-
const
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
14
|
+
const stateListener = React.useContext(NavigationStateListenerContext);
|
|
15
|
+
if (stateListener == null) {
|
|
16
|
+
throw new Error("Couldn't get the navigation state. Is your component inside a navigator?");
|
|
17
|
+
}
|
|
18
|
+
const value = useSyncExternalStoreWithSelector(stateListener.subscribe,
|
|
19
|
+
// @ts-expect-error: this is unsafe, but needed to make the generic work
|
|
20
|
+
stateListener.getState, stateListener.getState, selector);
|
|
18
21
|
return value;
|
|
19
22
|
}
|
|
23
|
+
export function NavigationStateListenerProvider({
|
|
24
|
+
state,
|
|
25
|
+
children
|
|
26
|
+
}) {
|
|
27
|
+
const listeners = React.useRef([]);
|
|
28
|
+
const getState = useLatestCallback(() => state);
|
|
29
|
+
const subscribe = useLatestCallback(callback => {
|
|
30
|
+
listeners.current.push(callback);
|
|
31
|
+
return () => {
|
|
32
|
+
listeners.current = listeners.current.filter(cb => cb !== callback);
|
|
33
|
+
};
|
|
34
|
+
});
|
|
35
|
+
useClientLayoutEffect(() => {
|
|
36
|
+
listeners.current.forEach(callback => callback());
|
|
37
|
+
}, [state]);
|
|
38
|
+
const context = React.useMemo(() => ({
|
|
39
|
+
getState,
|
|
40
|
+
subscribe
|
|
41
|
+
}), [getState, subscribe]);
|
|
42
|
+
return /*#__PURE__*/_jsx(NavigationStateListenerContext.Provider, {
|
|
43
|
+
value: context,
|
|
44
|
+
children: children
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
const NavigationStateListenerContext = /*#__PURE__*/React.createContext(undefined);
|
|
20
48
|
//# sourceMappingURL=useNavigationState.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","useSyncExternalStoreWithSelector","
|
|
1
|
+
{"version":3,"names":["React","useLatestCallback","useSyncExternalStoreWithSelector","useClientLayoutEffect","jsx","_jsx","useNavigationState","selector","stateListener","useContext","NavigationStateListenerContext","Error","value","subscribe","getState","NavigationStateListenerProvider","state","children","listeners","useRef","callback","current","push","filter","cb","forEach","context","useMemo","Provider","createContext","undefined"],"sourceRoot":"../../src","sources":["useNavigationState.tsx"],"mappings":";;AACA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAC9B,OAAOC,iBAAiB,MAAM,qBAAqB;AACnD,SAASC,gCAAgC,QAAQ,uCAAuC;AAExF,SAASC,qBAAqB,QAAQ,4BAAyB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAMhE;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,kBAAkBA,CAChCC,QAAgC,EAC7B;EACH,MAAMC,aAAa,GAAGR,KAAK,CAACS,UAAU,CAACC,8BAA8B,CAAC;EAEtE,IAAIF,aAAa,IAAI,IAAI,EAAE;IACzB,MAAM,IAAIG,KAAK,CACb,0EACF,CAAC;EACH;EAEA,MAAMC,KAAK,GAAGV,gCAAgC,CAC5CM,aAAa,CAACK,SAAS;EACvB;EACAL,aAAa,CAACM,QAAQ,EACtBN,aAAa,CAACM,QAAQ,EACtBP,QACF,CAAC;EAED,OAAOK,KAAK;AACd;AAEA,OAAO,SAASG,+BAA+BA,CAAC;EAC9CC,KAAK;EACLC;AAIF,CAAC,EAAE;EACD,MAAMC,SAAS,GAAGlB,KAAK,CAACmB,MAAM,CAAiB,EAAE,CAAC;EAElD,MAAML,QAAQ,GAAGb,iBAAiB,CAAC,MAAMe,KAAK,CAAC;EAE/C,MAAMH,SAAS,GAAGZ,iBAAiB,CAAEmB,QAAoB,IAAK;IAC5DF,SAAS,CAACG,OAAO,CAACC,IAAI,CAACF,QAAQ,CAAC;IAEhC,OAAO,MAAM;MACXF,SAAS,CAACG,OAAO,GAAGH,SAAS,CAACG,OAAO,CAACE,MAAM,CAAEC,EAAE,IAAKA,EAAE,KAAKJ,QAAQ,CAAC;IACvE,CAAC;EACH,CAAC,CAAC;EAEFjB,qBAAqB,CAAC,MAAM;IAC1Be,SAAS,CAACG,OAAO,CAACI,OAAO,CAAEL,QAAQ,IAAKA,QAAQ,CAAC,CAAC,CAAC;EACrD,CAAC,EAAE,CAACJ,KAAK,CAAC,CAAC;EAEX,MAAMU,OAAO,GAAG1B,KAAK,CAAC2B,OAAO,CAC3B,OAAO;IACLb,QAAQ;IACRD;EACF,CAAC,CAAC,EACF,CAACC,QAAQ,EAAED,SAAS,CACtB,CAAC;EAED,oBACER,IAAA,CAACK,8BAA8B,CAACkB,QAAQ;IAAChB,KAAK,EAAEc,OAAQ;IAAAT,QAAA,EACrDA;EAAQ,CAC8B,CAAC;AAE9C;AAEA,MAAMP,8BAA8B,gBAAGV,KAAK,CAAC6B,aAAa,CAMxDC,SAAS,CAAC","ignoreList":[]}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
import * as React from 'react';
|
|
4
4
|
import { NavigationBuilderContext } from "./NavigationBuilderContext.js";
|
|
5
|
-
import {
|
|
5
|
+
import { useClientLayoutEffect } from "./useClientLayoutEffect.js";
|
|
6
6
|
|
|
7
7
|
/**
|
|
8
8
|
* When screen config changes, we want to update the navigator in the same update phase.
|
|
@@ -20,6 +20,6 @@ export function useScheduleUpdate(callback) {
|
|
|
20
20
|
// FIXME: This is potentially unsafe
|
|
21
21
|
// However, since we are using sync store, it might be fine
|
|
22
22
|
scheduleUpdate(callback);
|
|
23
|
-
|
|
23
|
+
useClientLayoutEffect(flushUpdates);
|
|
24
24
|
}
|
|
25
25
|
//# sourceMappingURL=useScheduleUpdate.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","NavigationBuilderContext","
|
|
1
|
+
{"version":3,"names":["React","NavigationBuilderContext","useClientLayoutEffect","useScheduleUpdate","callback","scheduleUpdate","flushUpdates","useContext"],"sourceRoot":"../../src","sources":["useScheduleUpdate.tsx"],"mappings":";;AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAE9B,SAASC,wBAAwB,QAAQ,+BAA4B;AACrE,SAASC,qBAAqB,QAAQ,4BAAyB;;AAE/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,iBAAiBA,CAACC,QAAoB,EAAE;EACtD,MAAM;IAAEC,cAAc;IAAEC;EAAa,CAAC,GAAGN,KAAK,CAACO,UAAU,CACvDN,wBACF,CAAC;;EAED;EACA;EACAI,cAAc,CAACD,QAAQ,CAAC;EAExBF,qBAAqB,CAACI,YAAY,CAAC;AACrC","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useClientLayoutEffect.d.ts","sourceRoot":"","sources":["../../../src/useClientLayoutEffect.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B;;GAEG;AACH,eAAO,MAAM,qBAAqB,wBAIb,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useNavigationBuilder.d.ts","sourceRoot":"","sources":["../../../src/useNavigationBuilder.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,oBAAoB,EACzB,KAAK,gBAAgB,EACrB,KAAK,eAAe,EACpB,KAAK,aAAa,EAClB,KAAK,YAAY,EAIjB,KAAK,aAAa,EACnB,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAa/B,OAAO,EACL,KAAK,uBAAuB,EAE5B,KAAK,YAAY,EAEjB,iBAAiB,EAElB,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"useNavigationBuilder.d.ts","sourceRoot":"","sources":["../../../src/useNavigationBuilder.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,oBAAoB,EACzB,KAAK,gBAAgB,EACrB,KAAK,eAAe,EACpB,KAAK,aAAa,EAClB,KAAK,YAAY,EAIjB,KAAK,aAAa,EACnB,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAa/B,OAAO,EACL,KAAK,uBAAuB,EAE5B,KAAK,YAAY,EAEjB,iBAAiB,EAElB,MAAM,SAAS,CAAC;AAmPjB;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAClC,KAAK,SAAS,eAAe,EAC7B,aAAa,SAAS,oBAAoB,EAC1C,aAAa,SAAS,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,KAAK,IAAI,CAAC,EAC5D,aAAa,SAAS,EAAE,EACxB,QAAQ,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAEpC,YAAY,EAAE,aAAa,CAAC,KAAK,EAAE,gBAAgB,EAAE,aAAa,CAAC,EACnE,OAAO,EAAE,uBAAuB,CAC9B,aAAa,EACb,MAAM,GAAG,SAAS,EAClB,KAAK,EACL,aAAa,EACb,QAAQ,EACR,GAAG,CACJ,GACC,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA+gBhB"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { NavigationState, ParamListBase } from '@react-navigation/routers';
|
|
2
|
+
import * as React from 'react';
|
|
2
3
|
type Selector<ParamList extends ParamListBase, T> = (state: NavigationState<ParamList>) => T;
|
|
3
4
|
/**
|
|
4
5
|
* Hook to get a value from the current navigation state using a selector.
|
|
@@ -6,5 +7,9 @@ type Selector<ParamList extends ParamListBase, T> = (state: NavigationState<Para
|
|
|
6
7
|
* @param selector Selector function to get a value from the state.
|
|
7
8
|
*/
|
|
8
9
|
export declare function useNavigationState<ParamList extends ParamListBase, T>(selector: Selector<ParamList, T>): T;
|
|
10
|
+
export declare function NavigationStateListenerProvider({ state, children, }: {
|
|
11
|
+
state: NavigationState<ParamListBase>;
|
|
12
|
+
children: React.ReactNode;
|
|
13
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
9
14
|
export {};
|
|
10
15
|
//# sourceMappingURL=useNavigationState.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useNavigationState.d.ts","sourceRoot":"","sources":["../../../src/useNavigationState.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"useNavigationState.d.ts","sourceRoot":"","sources":["../../../src/useNavigationState.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAChF,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAM/B,KAAK,QAAQ,CAAC,SAAS,SAAS,aAAa,EAAE,CAAC,IAAI,CAClD,KAAK,EAAE,eAAe,CAAC,SAAS,CAAC,KAC9B,CAAC,CAAC;AAEP;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,SAAS,SAAS,aAAa,EAAE,CAAC,EACnE,QAAQ,EAAE,QAAQ,CAAC,SAAS,EAAE,CAAC,CAAC,GAC/B,CAAC,CAkBH;AAED,wBAAgB,+BAA+B,CAAC,EAC9C,KAAK,EACL,QAAQ,GACT,EAAE;IACD,KAAK,EAAE,eAAe,CAAC,aAAa,CAAC,CAAC;IACtC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B,2CA8BA"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@react-navigation/core",
|
|
3
3
|
"description": "Core utilities for building navigators",
|
|
4
|
-
"version": "7.
|
|
4
|
+
"version": "7.12.1",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"react",
|
|
7
7
|
"react-native",
|
|
@@ -82,5 +82,5 @@
|
|
|
82
82
|
]
|
|
83
83
|
]
|
|
84
84
|
},
|
|
85
|
-
"gitHead": "
|
|
85
|
+
"gitHead": "c059915c187967137f33b8931e6badcb0c604492"
|
|
86
86
|
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Use `useEffect` during SSR and `useLayoutEffect` in the Browser & React Native to avoid warnings.
|
|
5
|
+
*/
|
|
6
|
+
export const useClientLayoutEffect =
|
|
7
|
+
typeof document !== 'undefined' ||
|
|
8
|
+
(typeof navigator !== 'undefined' && navigator.product === 'ReactNative')
|
|
9
|
+
? React.useLayoutEffect
|
|
10
|
+
: React.useEffect;
|
|
@@ -32,16 +32,17 @@ import {
|
|
|
32
32
|
type RouteConfig,
|
|
33
33
|
} from './types';
|
|
34
34
|
import { useChildListeners } from './useChildListeners';
|
|
35
|
+
import { useClientLayoutEffect } from './useClientLayoutEffect';
|
|
35
36
|
import { useComponent } from './useComponent';
|
|
36
37
|
import { useCurrentRender } from './useCurrentRender';
|
|
37
38
|
import { type ScreenConfigWithParent, useDescriptors } from './useDescriptors';
|
|
38
39
|
import { useEventEmitter } from './useEventEmitter';
|
|
39
40
|
import { useFocusedListenersChildrenAdapter } from './useFocusedListenersChildrenAdapter';
|
|
40
41
|
import { useFocusEvents } from './useFocusEvents';
|
|
41
|
-
import { useIsomorphicLayoutEffect } from './useIsomorphicLayoutEffect';
|
|
42
42
|
import { useKeyedChildListeners } from './useKeyedChildListeners';
|
|
43
43
|
import { useLazyValue } from './useLazyValue';
|
|
44
44
|
import { useNavigationHelpers } from './useNavigationHelpers';
|
|
45
|
+
import { NavigationStateListenerProvider } from './useNavigationState';
|
|
45
46
|
import { useOnAction } from './useOnAction';
|
|
46
47
|
import { useOnGetState } from './useOnGetState';
|
|
47
48
|
import { useOnRouteFocus } from './useOnRouteFocus';
|
|
@@ -644,7 +645,7 @@ export function useNavigationBuilder<
|
|
|
644
645
|
|
|
645
646
|
stateRef.current = state;
|
|
646
647
|
|
|
647
|
-
|
|
648
|
+
useClientLayoutEffect(() => {
|
|
648
649
|
stateRef.current = null;
|
|
649
650
|
});
|
|
650
651
|
|
|
@@ -808,7 +809,9 @@ export function useNavigationBuilder<
|
|
|
808
809
|
|
|
809
810
|
return (
|
|
810
811
|
<NavigationHelpersContext.Provider value={navigation}>
|
|
811
|
-
<
|
|
812
|
+
<NavigationStateListenerProvider state={state}>
|
|
813
|
+
<PreventRemoveProvider>{element}</PreventRemoveProvider>
|
|
814
|
+
</NavigationStateListenerProvider>
|
|
812
815
|
</NavigationHelpersContext.Provider>
|
|
813
816
|
);
|
|
814
817
|
});
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import type { NavigationState, ParamListBase } from '@react-navigation/routers';
|
|
2
2
|
import * as React from 'react';
|
|
3
|
+
import useLatestCallback from 'use-latest-callback';
|
|
3
4
|
import { useSyncExternalStoreWithSelector } from 'use-sync-external-store/with-selector';
|
|
4
5
|
|
|
5
|
-
import
|
|
6
|
-
import { useNavigation } from './useNavigation';
|
|
6
|
+
import { useClientLayoutEffect } from './useClientLayoutEffect';
|
|
7
7
|
|
|
8
8
|
type Selector<ParamList extends ParamListBase, T> = (
|
|
9
9
|
state: NavigationState<ParamList>
|
|
@@ -17,23 +17,67 @@ type Selector<ParamList extends ParamListBase, T> = (
|
|
|
17
17
|
export function useNavigationState<ParamList extends ParamListBase, T>(
|
|
18
18
|
selector: Selector<ParamList, T>
|
|
19
19
|
): T {
|
|
20
|
-
const
|
|
20
|
+
const stateListener = React.useContext(NavigationStateListenerContext);
|
|
21
21
|
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
},
|
|
28
|
-
[navigation]
|
|
29
|
-
);
|
|
22
|
+
if (stateListener == null) {
|
|
23
|
+
throw new Error(
|
|
24
|
+
"Couldn't get the navigation state. Is your component inside a navigator?"
|
|
25
|
+
);
|
|
26
|
+
}
|
|
30
27
|
|
|
31
28
|
const value = useSyncExternalStoreWithSelector(
|
|
32
|
-
subscribe,
|
|
33
|
-
|
|
34
|
-
|
|
29
|
+
stateListener.subscribe,
|
|
30
|
+
// @ts-expect-error: this is unsafe, but needed to make the generic work
|
|
31
|
+
stateListener.getState,
|
|
32
|
+
stateListener.getState,
|
|
35
33
|
selector
|
|
36
34
|
);
|
|
37
35
|
|
|
38
36
|
return value;
|
|
39
37
|
}
|
|
38
|
+
|
|
39
|
+
export function NavigationStateListenerProvider({
|
|
40
|
+
state,
|
|
41
|
+
children,
|
|
42
|
+
}: {
|
|
43
|
+
state: NavigationState<ParamListBase>;
|
|
44
|
+
children: React.ReactNode;
|
|
45
|
+
}) {
|
|
46
|
+
const listeners = React.useRef<(() => void)[]>([]);
|
|
47
|
+
|
|
48
|
+
const getState = useLatestCallback(() => state);
|
|
49
|
+
|
|
50
|
+
const subscribe = useLatestCallback((callback: () => void) => {
|
|
51
|
+
listeners.current.push(callback);
|
|
52
|
+
|
|
53
|
+
return () => {
|
|
54
|
+
listeners.current = listeners.current.filter((cb) => cb !== callback);
|
|
55
|
+
};
|
|
56
|
+
});
|
|
57
|
+
|
|
58
|
+
useClientLayoutEffect(() => {
|
|
59
|
+
listeners.current.forEach((callback) => callback());
|
|
60
|
+
}, [state]);
|
|
61
|
+
|
|
62
|
+
const context = React.useMemo(
|
|
63
|
+
() => ({
|
|
64
|
+
getState,
|
|
65
|
+
subscribe,
|
|
66
|
+
}),
|
|
67
|
+
[getState, subscribe]
|
|
68
|
+
);
|
|
69
|
+
|
|
70
|
+
return (
|
|
71
|
+
<NavigationStateListenerContext.Provider value={context}>
|
|
72
|
+
{children}
|
|
73
|
+
</NavigationStateListenerContext.Provider>
|
|
74
|
+
);
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
const NavigationStateListenerContext = React.createContext<
|
|
78
|
+
| {
|
|
79
|
+
getState: () => NavigationState<ParamListBase>;
|
|
80
|
+
subscribe: (callback: () => void) => () => void;
|
|
81
|
+
}
|
|
82
|
+
| undefined
|
|
83
|
+
>(undefined);
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
|
|
3
3
|
import { NavigationBuilderContext } from './NavigationBuilderContext';
|
|
4
|
-
import {
|
|
4
|
+
import { useClientLayoutEffect } from './useClientLayoutEffect';
|
|
5
5
|
|
|
6
6
|
/**
|
|
7
7
|
* When screen config changes, we want to update the navigator in the same update phase.
|
|
@@ -19,5 +19,5 @@ export function useScheduleUpdate(callback: () => void) {
|
|
|
19
19
|
// However, since we are using sync store, it might be fine
|
|
20
20
|
scheduleUpdate(callback);
|
|
21
21
|
|
|
22
|
-
|
|
22
|
+
useClientLayoutEffect(flushUpdates);
|
|
23
23
|
}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
import { useEffect, useLayoutEffect } from 'react';
|
|
4
|
-
|
|
5
|
-
/**
|
|
6
|
-
* Use `useEffect` during SSR and `useLayoutEffect` in the browser to avoid warnings.
|
|
7
|
-
*/
|
|
8
|
-
export const useIsomorphicLayoutEffect = typeof document !== 'undefined' ? useLayoutEffect : useEffect;
|
|
9
|
-
//# sourceMappingURL=useIsomorphicLayoutEffect.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["useEffect","useLayoutEffect","useIsomorphicLayoutEffect","document"],"sourceRoot":"../../src","sources":["useIsomorphicLayoutEffect.tsx"],"mappings":";;AAAA,SAASA,SAAS,EAAEC,eAAe,QAAQ,OAAO;;AAElD;AACA;AACA;AACA,OAAO,MAAMC,yBAAyB,GACpC,OAAOC,QAAQ,KAAK,WAAW,GAAGF,eAAe,GAAGD,SAAS","ignoreList":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["useLayoutEffect","useIsomorphicLayoutEffect"],"sourceRoot":"../../src","sources":["useIsomorphicLayoutEffect.native.tsx"],"mappings":";;AAAA,SAASA,eAAe,QAAQ,OAAO;AAEvC,OAAO,MAAMC,yBAAyB,GAAGD,eAAe","ignoreList":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useIsomorphicLayoutEffect.d.ts","sourceRoot":"","sources":["../../../src/useIsomorphicLayoutEffect.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAmB,MAAM,OAAO,CAAC;AAEnD;;GAEG;AACH,eAAO,MAAM,yBAAyB,kBACyB,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useIsomorphicLayoutEffect.native.d.ts","sourceRoot":"","sources":["../../../src/useIsomorphicLayoutEffect.native.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,OAAO,CAAC;AAExC,eAAO,MAAM,yBAAyB,wBAAkB,CAAC"}
|