@react-navigation/core 7.14.1 → 7.15.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.
@@ -42,47 +42,14 @@ export function SceneView({
42
42
  const setCurrentState = React.useCallback(child => {
43
43
  const state = getState();
44
44
  const routes = state.routes.map(r => {
45
- if (r.key !== route.key) {
46
- return r;
47
- }
48
- const nextRoute = r.state !== child ? {
49
- ...r,
50
- state: child
51
- } : r;
52
-
53
- // Before updating the state, cleanup any nested screen and state
54
- // This will avoid the navigator trying to handle them again
55
- if (nextRoute.params && ('state' in nextRoute.params && typeof nextRoute.params.state === 'object' && nextRoute.params.state !== null || 'screen' in nextRoute.params && typeof nextRoute.params.screen === 'string')) {
56
- // @ts-expect-error: we don't have correct type for params
57
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
58
- const {
59
- state,
60
- screen,
61
- params,
62
- initial,
63
- ...rest
64
- } = nextRoute.params;
65
- if (Object.keys(rest).length) {
66
- return {
67
- ...nextRoute,
68
- params: rest
69
- };
70
- } else {
71
- const {
72
- // We destructure the params to omit them
73
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
74
- params,
75
- ...restRoute
76
- } = nextRoute;
77
- return restRoute;
78
- }
45
+ if (r.key === route.key && r.state !== child) {
46
+ return {
47
+ ...r,
48
+ state: child
49
+ };
79
50
  }
80
- return nextRoute;
51
+ return r;
81
52
  });
82
-
83
- // Make sure not to update state if routes haven't changed
84
- // Otherwise this will result in params cleanup as well
85
- // We only want to cleanup params when state changes - after they are used
86
53
  if (!isArrayEqual(state.routes, routes)) {
87
54
  setState({
88
55
  ...state,
@@ -1 +1 @@
1
- {"version":3,"names":["React","EnsureSingleNavigator","isArrayEqual","NavigationFocusedRouteStateContext","NavigationStateContext","StaticContainer","useOptionsGetters","jsx","_jsx","SceneView","screen","route","navigation","routeState","getState","setState","options","clearOptions","navigatorKeyRef","useRef","undefined","getKey","useCallback","current","addOptionsGetter","key","setKey","getCurrentState","state","currentRoute","routes","find","r","setCurrentState","child","map","nextRoute","params","initial","rest","Object","keys","length","restRoute","isInitialRef","useEffect","getIsInitial","parentFocusedRouteState","useContext","focusedRouteState","useMemo","name","path","addState","parent","parentRoute","context","ScreenComponent","getComponent","component","Provider","value","children","render"],"sourceRoot":"../../src","sources":["SceneView.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","EnsureSingleNavigator","isArrayEqual","NavigationFocusedRouteStateContext","NavigationStateContext","StaticContainer","useOptionsGetters","jsx","_jsx","SceneView","screen","route","navigation","routeState","getState","setState","options","clearOptions","navigatorKeyRef","useRef","undefined","getKey","useCallback","current","addOptionsGetter","key","setKey","getCurrentState","state","currentRoute","routes","find","r","setCurrentState","child","map","isInitialRef","useEffect","getIsInitial","parentFocusedRouteState","useContext","focusedRouteState","useMemo","name","params","path","addState","parent","parentRoute","context","ScreenComponent","getComponent","component","Provider","value","children","render"],"sourceRoot":"../../src","sources":["SceneView.tsx"],"mappings":"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","ignoreList":[]}
@@ -39,6 +39,7 @@ import { useScheduleUpdate } from "./useScheduleUpdate.js";
39
39
  // eslint-disable-next-line @typescript-eslint/no-unused-expressions
40
40
  import { jsx as _jsx } from "react/jsx-runtime";
41
41
  PrivateValueStore;
42
+ const CONSUMED_PARAMS = Symbol('CONSUMED_PARAMS');
42
43
  const isScreen = child => {
43
44
  return child.type === Screen;
44
45
  };
@@ -161,6 +162,7 @@ const getStateFromParams = params => {
161
162
  export function useNavigationBuilder(createRouter, options) {
162
163
  const navigatorKey = useRegisterNavigator();
163
164
  const route = React.useContext(NavigationRouteContext);
165
+ const isNestedParamsConsumed = typeof route?.params === 'object' && route.params != null ? CONSUMED_PARAMS in route.params && route.params[CONSUMED_PARAMS] === route.params : false;
164
166
  const {
165
167
  children,
166
168
  layout,
@@ -235,7 +237,7 @@ export function useNavigationBuilder(createRouter, options) {
235
237
  }
236
238
  setCurrentState(state);
237
239
  });
238
- const [stateBeforeInitialization, initializedState, isFirstStateInitialization] = React.useMemo(() => {
240
+ const [stateBeforeInitialization, initializedState, isFirstStateInitialization, paramsUsedForInitialization] = React.useMemo(() => {
239
241
  // If the state was already cleaned up, but we have it stored in ref,
240
242
  // It likely got cleaned up due to `<Activity mode="hidden">`
241
243
  // We should reuse this state to avoid remounting screens
@@ -245,7 +247,7 @@ export function useNavigationBuilder(createRouter, options) {
245
247
  routeParamList,
246
248
  routeGetIdList
247
249
  });
248
- return [undefined, state, false];
250
+ return [undefined, state, false, undefined];
249
251
  }
250
252
  const initialRouteParamList = routeNames.reduce((acc, curr) => {
251
253
  const {
@@ -263,14 +265,15 @@ export function useNavigationBuilder(createRouter, options) {
263
265
  // We also need to re-initialize it if the state passed from parent was changed (maybe due to reset)
264
266
  // Otherwise assume that the state was provided as initial state
265
267
  // So we need to rehydrate it to make it usable
266
- if ((currentState === undefined || !isStateValid(currentState)) && route?.params?.state == null && !(typeof route?.params?.screen === 'string' && route?.params?.initial !== false)) {
268
+ if ((currentState === undefined || !isStateValid(currentState)) && route?.params?.state == null && !(typeof route?.params?.screen === 'string' && route?.params?.initial !== false) && !isNestedParamsConsumed) {
267
269
  return [undefined, router.getInitialState({
268
270
  routeNames,
269
271
  routeParamList: initialRouteParamList,
270
272
  routeGetIdList
271
- }), true];
273
+ }), true, undefined];
272
274
  } else {
273
- const stateFromParams = getStateFromParams(route?.params);
275
+ const paramsForState = isNestedParamsConsumed ? undefined : route?.params;
276
+ const stateFromParams = paramsForState ? getStateFromParams(paramsForState) : undefined;
274
277
  const stateBeforeInitialization = stateFromParams ?? currentState;
275
278
  const hydratedState = router.getRehydratedState(stateBeforeInitialization, {
276
279
  routeNames,
@@ -278,9 +281,9 @@ export function useNavigationBuilder(createRouter, options) {
278
281
  routeGetIdList
279
282
  });
280
283
  if (options.UNSTABLE_routeNamesChangeBehavior === 'lastUnhandled' && doesStateHaveOnlyInvalidRoutes(stateBeforeInitialization)) {
281
- return [stateBeforeInitialization, hydratedState, true];
284
+ return [stateBeforeInitialization, hydratedState, true, paramsForState];
282
285
  }
283
- return [undefined, hydratedState, false];
286
+ return [undefined, hydratedState, false, paramsForState];
284
287
  }
285
288
  // We explicitly don't include routeNames, route.params etc. in the dep list
286
289
  // below. We want to avoid forcing a new state to be calculated in those cases
@@ -330,14 +333,11 @@ export function useNavigationBuilder(createRouter, options) {
330
333
  routeKeyChanges: Object.keys(routeKeyList).filter(name => name in previousRouteKeyList && routeKeyList[name] !== previousRouteKeyList[name])
331
334
  });
332
335
  }
333
- const previousNestedParamsRef = React.useRef(route?.params);
334
- React.useEffect(() => {
335
- previousNestedParamsRef.current = route?.params;
336
- }, [route?.params]);
337
- if (route?.params) {
338
- const previousParams = previousNestedParamsRef.current;
336
+ let didConsumeNestedParams = route?.params === paramsUsedForInitialization;
337
+ if (route?.params && !didConsumeNestedParams) {
339
338
  let action;
340
- if (typeof route.params.state === 'object' && route.params.state != null && route.params !== previousParams) {
339
+ if (typeof route.params.state === 'object' && route.params.state != null && !isNestedParamsConsumed) {
340
+ didConsumeNestedParams = true;
341
341
  if (options.UNSTABLE_routeNamesChangeBehavior === 'lastUnhandled' && doesStateHaveOnlyInvalidRoutes(route.params.state)) {
342
342
  if (route.params.state !== unhandledState) {
343
343
  setUnhandledState(route.params.state);
@@ -346,7 +346,8 @@ export function useNavigationBuilder(createRouter, options) {
346
346
  // If the route was updated with new state, we should reset to it
347
347
  action = CommonActions.reset(route.params.state);
348
348
  }
349
- } else if (typeof route.params.screen === 'string' && (route.params.initial === false && isFirstStateInitialization || route.params !== previousParams)) {
349
+ } else if (typeof route.params.screen === 'string' && (route.params.initial === false && isFirstStateInitialization || !isNestedParamsConsumed)) {
350
+ didConsumeNestedParams = true;
350
351
  if (options.UNSTABLE_routeNamesChangeBehavior === 'lastUnhandled' && !routeNames.includes(route.params.screen)) {
351
352
  const state = getStateFromParams(route.params);
352
353
  if (state != null && !deepEqual(state, unhandledState)) {
@@ -376,13 +377,16 @@ export function useNavigationBuilder(createRouter, options) {
376
377
  routeGetIdList
377
378
  }) : nextState;
378
379
  }
379
- const hasNestedParams = typeof route?.params?.state === 'object' || typeof route?.params?.screen === 'string';
380
380
  React.useEffect(() => {
381
- if (hasNestedParams) {
382
- // Clear nested params after they are consumed
383
- setState(nextState);
381
+ if (didConsumeNestedParams && typeof route?.params === 'object' && route.params != null) {
382
+ // Track whether the params have been already consumed
383
+ // Set it to the same object, so merged params can be handled again
384
+ Object.defineProperty(route.params, CONSUMED_PARAMS, {
385
+ value: route.params,
386
+ enumerable: false
387
+ });
384
388
  }
385
- }, [hasNestedParams, nextState, setState]);
389
+ }, [didConsumeNestedParams, route?.params]);
386
390
  const shouldUpdate = state !== nextState;
387
391
  useScheduleUpdate(() => {
388
392
  if (shouldUpdate) {
@@ -1 +1 @@
1
- {"version":3,"names":["CommonActions","deepEqual","React","isValidElementType","useLatestCallback","deepFreeze","Group","isArrayEqual","isRecordEqual","NavigationHelpersContext","NavigationMetaContext","NavigationRouteContext","NavigationStateContext","PreventRemoveProvider","Screen","PrivateValueStore","UnhandledActionContext","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","getStateFromParams","params","state","screen","initial","routes","path","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","isStateInitialized","stale","doesStateHaveOnlyInvalidRoutes","r","includes","currentState","getState","getCurrentState","setState","setCurrentState","setKey","getKey","getIsInitial","stateCleanupRef","useRef","lastStateRef","current","stateBeforeInitialization","initializedState","isFirstStateInitialization","useMemo","getRehydratedState","initialRouteParamList","initialParamsFromParams","getInitialState","stateFromParams","hydratedState","UNSTABLE_routeNamesChangeBehavior","previousRouteKeyListRef","useEffect","previousRouteKeyList","unhandledState","setUnhandledState","useState","nextState","shouldClearUnhandledState","getStateForRouteNamesChange","routeKeyChanges","filter","previousNestedParamsRef","previousParams","action","reset","navigate","merge","pop","updatedState","getStateForAction","hasNestedParams","shouldUpdate","lastNotifiedStateRef","stateRef","emitter","e","target","find","index","navigation","descriptors","listeners","concat","cb","i","self","lastIndexOf","listener","emit","data","childListeners","addListener","keyedListeners","addKeyedListener","onAction","actionListeners","beforeRemoveListeners","beforeRemove","routerConfigOptions","onRouteFocus","onUnhandledActionParent","onUnhandledAction","payload","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","deepEqual","React","isValidElementType","useLatestCallback","deepFreeze","Group","isArrayEqual","isRecordEqual","NavigationHelpersContext","NavigationMetaContext","NavigationRouteContext","NavigationStateContext","PreventRemoveProvider","Screen","PrivateValueStore","UnhandledActionContext","useChildListeners","useClientLayoutEffect","useComponent","useCurrentRender","useDescriptors","useEventEmitter","useFocusedListenersChildrenAdapter","useFocusEvents","useKeyedChildListeners","useLazyValue","useNavigationHelpers","NavigationStateListenerProvider","useOnAction","useOnGetState","useOnRouteFocus","useRegisterNavigator","useScheduleUpdate","jsx","_jsx","CONSUMED_PARAMS","Symbol","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","getStateFromParams","params","state","screen","initial","routes","path","useNavigationBuilder","createRouter","navigatorKey","route","useContext","isNestedParamsConsumed","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","isStateInitialized","stale","doesStateHaveOnlyInvalidRoutes","r","includes","currentState","getState","getCurrentState","setState","setCurrentState","setKey","getKey","getIsInitial","stateCleanupRef","useRef","lastStateRef","current","stateBeforeInitialization","initializedState","isFirstStateInitialization","paramsUsedForInitialization","useMemo","getRehydratedState","initialRouteParamList","initialParamsFromParams","getInitialState","paramsForState","stateFromParams","hydratedState","UNSTABLE_routeNamesChangeBehavior","previousRouteKeyListRef","useEffect","previousRouteKeyList","unhandledState","setUnhandledState","useState","nextState","shouldClearUnhandledState","getStateForRouteNamesChange","routeKeyChanges","filter","didConsumeNestedParams","action","reset","navigate","merge","pop","updatedState","getStateForAction","defineProperty","value","enumerable","shouldUpdate","lastNotifiedStateRef","stateRef","emitter","e","target","find","index","navigation","descriptors","listeners","concat","cb","i","self","lastIndexOf","listener","emit","data","childListeners","addListener","keyedListeners","addKeyedListener","onAction","actionListeners","beforeRemoveListeners","beforeRemove","routerConfigOptions","onRouteFocus","onUnhandledActionParent","onUnhandledAction","payload","id","focusedListeners","focus","getStateListeners","describe","NavigationContent","element","Provider"],"sourceRoot":"../../src","sources":["useNavigationBuilder.tsx"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"SceneView.d.ts","sourceRoot":"","sources":["../../../src/SceneView.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EACf,aAAa,EACb,YAAY,EACZ,KAAK,EACN,MAAM,2BAA2B,CAAC;AAWnC,OAAO,KAAK,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAGpE,KAAK,KAAK,CAAC,KAAK,SAAS,eAAe,EAAE,aAAa,SAAS,EAAE,IAAI;IACpE,MAAM,EAAE,oBAAoB,CAAC,aAAa,EAAE,MAAM,CAAC,GAAG;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IACvE,UAAU,EAAE,cAAc,CACxB,aAAa,EACb,MAAM,EACN,MAAM,GAAG,SAAS,EAClB,KAAK,EACL,aAAa,CACd,CAAC;IACF,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IACrB,UAAU,EAAE,eAAe,GAAG,YAAY,CAAC,eAAe,CAAC,GAAG,SAAS,CAAC;IACxE,QAAQ,EAAE,MAAM,KAAK,CAAC;IACtB,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,IAAI,CAAC;CAC1B,CAAC;AAEF;;;GAGG;AACH,wBAAgB,SAAS,CACvB,KAAK,SAAS,eAAe,EAC7B,aAAa,SAAS,EAAE,EACxB,EACA,MAAM,EACN,KAAK,EACL,UAAU,EACV,UAAU,EACV,QAAQ,EACR,QAAQ,EACR,OAAO,EACP,YAAY,GACb,EAAE,KAAK,CAAC,KAAK,EAAE,aAAa,CAAC,2CAoL7B"}
1
+ {"version":3,"file":"SceneView.d.ts","sourceRoot":"","sources":["../../../src/SceneView.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EACf,aAAa,EACb,YAAY,EACZ,KAAK,EACN,MAAM,2BAA2B,CAAC;AAWnC,OAAO,KAAK,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAGpE,KAAK,KAAK,CAAC,KAAK,SAAS,eAAe,EAAE,aAAa,SAAS,EAAE,IAAI;IACpE,MAAM,EAAE,oBAAoB,CAAC,aAAa,EAAE,MAAM,CAAC,GAAG;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IACvE,UAAU,EAAE,cAAc,CACxB,aAAa,EACb,MAAM,EACN,MAAM,GAAG,SAAS,EAClB,KAAK,EACL,aAAa,CACd,CAAC;IACF,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IACrB,UAAU,EAAE,eAAe,GAAG,YAAY,CAAC,eAAe,CAAC,GAAG,SAAS,CAAC;IACxE,QAAQ,EAAE,MAAM,KAAK,CAAC;IACtB,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,IAAI,CAAC;CAC1B,CAAC;AAEF;;;GAGG;AACH,wBAAgB,SAAS,CACvB,KAAK,SAAS,eAAe,EAC7B,aAAa,SAAS,EAAE,EACxB,EACA,MAAM,EACN,KAAK,EACL,UAAU,EACV,UAAU,EACV,QAAQ,EACR,QAAQ,EACR,OAAO,EACP,YAAY,GACb,EAAE,KAAK,CAAC,KAAK,EAAE,aAAa,CAAC,2CAsJ7B"}
@@ -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;AAEnC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAc/B,OAAO,EACL,KAAK,uBAAuB,EAE5B,KAAK,YAAY,EAEjB,iBAAiB,EAElB,MAAM,SAAS,CAAC;AAsQjB;;;;;;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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAmqBhB"}
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;AAEnC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAc/B,OAAO,EACL,KAAK,uBAAuB,EAE5B,KAAK,YAAY,EAEjB,iBAAiB,EAElB,MAAM,SAAS,CAAC;AAwQjB;;;;;;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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAorBhB"}
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.14.1",
4
+ "version": "7.15.1",
5
5
  "keywords": [
6
6
  "react",
7
7
  "react-native",
@@ -83,5 +83,5 @@
83
83
  ]
84
84
  ]
85
85
  },
86
- "gitHead": "f77c6f9eea37dcbb0970e6f3caf97a0cc882d179"
86
+ "gitHead": "b6bdbf12ab919178f42420d749b8041cff6063cf"
87
87
  }
package/src/SceneView.tsx CHANGED
@@ -76,46 +76,16 @@ export function SceneView<
76
76
  const state = getState();
77
77
 
78
78
  const routes = state.routes.map((r) => {
79
- if (r.key !== route.key) {
80
- return r;
79
+ if (r.key === route.key && r.state !== child) {
80
+ return {
81
+ ...r,
82
+ state: child,
83
+ };
81
84
  }
82
85
 
83
- const nextRoute = r.state !== child ? { ...r, state: child } : r;
84
-
85
- // Before updating the state, cleanup any nested screen and state
86
- // This will avoid the navigator trying to handle them again
87
- if (
88
- nextRoute.params &&
89
- (('state' in nextRoute.params &&
90
- typeof nextRoute.params.state === 'object' &&
91
- nextRoute.params.state !== null) ||
92
- ('screen' in nextRoute.params &&
93
- typeof nextRoute.params.screen === 'string'))
94
- ) {
95
- // @ts-expect-error: we don't have correct type for params
96
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
97
- const { state, screen, params, initial, ...rest } = nextRoute.params;
98
-
99
- if (Object.keys(rest).length) {
100
- return { ...nextRoute, params: rest };
101
- } else {
102
- const {
103
- // We destructure the params to omit them
104
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
105
- params,
106
- ...restRoute
107
- } = nextRoute;
108
-
109
- return restRoute;
110
- }
111
- }
112
-
113
- return nextRoute;
86
+ return r;
114
87
  });
115
88
 
116
- // Make sure not to update state if routes haven't changed
117
- // Otherwise this will result in params cleanup as well
118
- // We only want to cleanup params when state changes - after they are used
119
89
  if (!isArrayEqual(state.routes, routes)) {
120
90
  setState({
121
91
  ...state,
@@ -61,6 +61,8 @@ type NavigatorRoute = {
61
61
  params?: NavigatorScreenParams<ParamListBase>;
62
62
  };
63
63
 
64
+ const CONSUMED_PARAMS = Symbol('CONSUMED_PARAMS');
65
+
64
66
  const isScreen = (
65
67
  child: React.ReactElement<unknown>
66
68
  ): child is React.ReactElement<{
@@ -325,6 +327,12 @@ export function useNavigationBuilder<
325
327
  | NavigatorRoute
326
328
  | undefined;
327
329
 
330
+ const isNestedParamsConsumed =
331
+ typeof route?.params === 'object' && route.params != null
332
+ ? CONSUMED_PARAMS in route.params &&
333
+ route.params[CONSUMED_PARAMS] === route.params
334
+ : false;
335
+
328
336
  const {
329
337
  children,
330
338
  layout,
@@ -466,10 +474,12 @@ export function useNavigationBuilder<
466
474
  stateBeforeInitialization,
467
475
  initializedState,
468
476
  isFirstStateInitialization,
477
+ paramsUsedForInitialization,
469
478
  ] = React.useMemo((): [
470
479
  PartialState<State> | undefined,
471
480
  State | undefined,
472
481
  boolean,
482
+ object | undefined,
473
483
  ] => {
474
484
  // If the state was already cleaned up, but we have it stored in ref,
475
485
  // It likely got cleaned up due to `<Activity mode="hidden">`
@@ -487,7 +497,7 @@ export function useNavigationBuilder<
487
497
  routeGetIdList,
488
498
  });
489
499
 
490
- return [undefined, state, false];
500
+ return [undefined, state, false, undefined];
491
501
  }
492
502
 
493
503
  const initialRouteParamList = routeNames.reduce<
@@ -522,7 +532,8 @@ export function useNavigationBuilder<
522
532
  !(
523
533
  typeof route?.params?.screen === 'string' &&
524
534
  route?.params?.initial !== false
525
- )
535
+ ) &&
536
+ !isNestedParamsConsumed
526
537
  ) {
527
538
  return [
528
539
  undefined,
@@ -532,11 +543,17 @@ export function useNavigationBuilder<
532
543
  routeGetIdList,
533
544
  }),
534
545
  true,
546
+ undefined,
535
547
  ];
536
548
  } else {
537
- const stateFromParams = getStateFromParams(route?.params);
549
+ const paramsForState = isNestedParamsConsumed ? undefined : route?.params;
550
+ const stateFromParams = paramsForState
551
+ ? getStateFromParams(paramsForState)
552
+ : undefined;
553
+
538
554
  const stateBeforeInitialization = (stateFromParams ??
539
555
  currentState) as PartialState<State>;
556
+
540
557
  const hydratedState = router.getRehydratedState(
541
558
  stateBeforeInitialization,
542
559
  {
@@ -550,10 +567,10 @@ export function useNavigationBuilder<
550
567
  options.UNSTABLE_routeNamesChangeBehavior === 'lastUnhandled' &&
551
568
  doesStateHaveOnlyInvalidRoutes(stateBeforeInitialization)
552
569
  ) {
553
- return [stateBeforeInitialization, hydratedState, true];
570
+ return [stateBeforeInitialization, hydratedState, true, paramsForState];
554
571
  }
555
572
 
556
- return [undefined, hydratedState, false];
573
+ return [undefined, hydratedState, false, paramsForState];
557
574
  }
558
575
  // We explicitly don't include routeNames, route.params etc. in the dep list
559
576
  // below. We want to avoid forcing a new state to be calculated in those cases
@@ -631,22 +648,18 @@ export function useNavigationBuilder<
631
648
  });
632
649
  }
633
650
 
634
- const previousNestedParamsRef = React.useRef(route?.params);
635
-
636
- React.useEffect(() => {
637
- previousNestedParamsRef.current = route?.params;
638
- }, [route?.params]);
639
-
640
- if (route?.params) {
641
- const previousParams = previousNestedParamsRef.current;
651
+ let didConsumeNestedParams = route?.params === paramsUsedForInitialization;
642
652
 
653
+ if (route?.params && !didConsumeNestedParams) {
643
654
  let action: CommonActions.Action | undefined;
644
655
 
645
656
  if (
646
657
  typeof route.params.state === 'object' &&
647
658
  route.params.state != null &&
648
- route.params !== previousParams
659
+ !isNestedParamsConsumed
649
660
  ) {
661
+ didConsumeNestedParams = true;
662
+
650
663
  if (
651
664
  options.UNSTABLE_routeNamesChangeBehavior === 'lastUnhandled' &&
652
665
  doesStateHaveOnlyInvalidRoutes(route.params.state)
@@ -661,8 +674,10 @@ export function useNavigationBuilder<
661
674
  } else if (
662
675
  typeof route.params.screen === 'string' &&
663
676
  ((route.params.initial === false && isFirstStateInitialization) ||
664
- route.params !== previousParams)
677
+ !isNestedParamsConsumed)
665
678
  ) {
679
+ didConsumeNestedParams = true;
680
+
666
681
  if (
667
682
  options.UNSTABLE_routeNamesChangeBehavior === 'lastUnhandled' &&
668
683
  !routeNames.includes(route.params.screen)
@@ -703,16 +718,20 @@ export function useNavigationBuilder<
703
718
  : nextState;
704
719
  }
705
720
 
706
- const hasNestedParams =
707
- typeof route?.params?.state === 'object' ||
708
- typeof route?.params?.screen === 'string';
709
-
710
721
  React.useEffect(() => {
711
- if (hasNestedParams) {
712
- // Clear nested params after they are consumed
713
- setState(nextState);
722
+ if (
723
+ didConsumeNestedParams &&
724
+ typeof route?.params === 'object' &&
725
+ route.params != null
726
+ ) {
727
+ // Track whether the params have been already consumed
728
+ // Set it to the same object, so merged params can be handled again
729
+ Object.defineProperty(route.params, CONSUMED_PARAMS, {
730
+ value: route.params,
731
+ enumerable: false,
732
+ });
714
733
  }
715
- }, [hasNestedParams, nextState, setState]);
734
+ }, [didConsumeNestedParams, route?.params]);
716
735
 
717
736
  const shouldUpdate = state !== nextState;
718
737