@react-navigation/native 7.3.1 → 7.3.2
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/useLinking.js +42 -7
- package/lib/module/useLinking.js.map +1 -1
- package/lib/typescript/src/useLinkBuilder.d.ts +30 -30
- package/lib/typescript/src/useLinkBuilder.d.ts.map +1 -1
- package/lib/typescript/src/useLinking.d.ts.map +1 -1
- package/package.json +3 -3
- package/src/useLinking.tsx +58 -6
package/lib/module/useLinking.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import { findFocusedRoute, getActionFromState as getActionFromStateDefault, getPathFromState as getPathFromStateDefault, getStateFromPath as getStateFromPathDefault, useNavigationIndependentTree } from '@react-navigation/core';
|
|
3
|
+
import { CommonActions, findFocusedRoute, getActionFromState as getActionFromStateDefault, getPathFromState as getPathFromStateDefault, getStateFromPath as getStateFromPathDefault, useNavigationIndependentTree } from '@react-navigation/core';
|
|
4
4
|
import isEqual from 'fast-deep-equal';
|
|
5
5
|
import * as React from 'react';
|
|
6
6
|
import { createMemoryHistory } from "./createMemoryHistory.js";
|
|
@@ -162,6 +162,41 @@ export function useLinking(ref, {
|
|
|
162
162
|
const previousIndex = previousIndexRef.current ?? 0;
|
|
163
163
|
previousIndexRef.current = index;
|
|
164
164
|
pendingPopStatePathRef.current = path;
|
|
165
|
+
const rollbackHistory = () => {
|
|
166
|
+
const delta = previousIndex - index;
|
|
167
|
+
if (delta === 0) {
|
|
168
|
+
return;
|
|
169
|
+
}
|
|
170
|
+
pendingPopStatePathRef.current = undefined;
|
|
171
|
+
|
|
172
|
+
// eslint-disable-next-line promise/always-return
|
|
173
|
+
history.go(delta)?.then(() => {
|
|
174
|
+
previousIndexRef.current = history.index;
|
|
175
|
+
});
|
|
176
|
+
};
|
|
177
|
+
const rollbackHistoryIfPrevented = callback => {
|
|
178
|
+
let beforeRemovePrevented = false;
|
|
179
|
+
const state = navigation.getRootState();
|
|
180
|
+
const unsubscribe = navigation.addListener('__unsafe_event__', e => {
|
|
181
|
+
if (e.data.type === 'beforeRemove' && e.data.defaultPrevented === true) {
|
|
182
|
+
beforeRemovePrevented = true;
|
|
183
|
+
}
|
|
184
|
+
});
|
|
185
|
+
try {
|
|
186
|
+
callback();
|
|
187
|
+
} finally {
|
|
188
|
+
unsubscribe();
|
|
189
|
+
}
|
|
190
|
+
if (beforeRemovePrevented && isEqual(navigation.getRootState(), state)) {
|
|
191
|
+
rollbackHistory();
|
|
192
|
+
}
|
|
193
|
+
};
|
|
194
|
+
const dispatch = action => {
|
|
195
|
+
rollbackHistoryIfPrevented(() => navigation.dispatch(action));
|
|
196
|
+
};
|
|
197
|
+
const resetRoot = state => {
|
|
198
|
+
rollbackHistoryIfPrevented(() => navigation.resetRoot(state));
|
|
199
|
+
};
|
|
165
200
|
|
|
166
201
|
// When browser back/forward is clicked, we first need to check if state object for this index exists
|
|
167
202
|
// If it does we'll reset to that state object
|
|
@@ -174,9 +209,9 @@ export function useLinking(ref, {
|
|
|
174
209
|
// If we detect that the state change is popping the last entry
|
|
175
210
|
// Dispatch a back action instead of resetting to the state
|
|
176
211
|
// This makes sure changes to history state since the entry was added don't get lost
|
|
177
|
-
|
|
212
|
+
dispatch(CommonActions.goBack());
|
|
178
213
|
} else {
|
|
179
|
-
|
|
214
|
+
resetRoot(record.state);
|
|
180
215
|
}
|
|
181
216
|
return;
|
|
182
217
|
}
|
|
@@ -200,21 +235,21 @@ export function useLinking(ref, {
|
|
|
200
235
|
const action = getActionFromStateRef.current(state, configRef.current);
|
|
201
236
|
if (action !== undefined) {
|
|
202
237
|
try {
|
|
203
|
-
|
|
238
|
+
dispatch(action);
|
|
204
239
|
} catch (e) {
|
|
205
240
|
// Ignore any errors from deep linking.
|
|
206
241
|
// This could happen in case of malformed links, navigation object not being initialized etc.
|
|
207
242
|
console.warn(`An error occurred when trying to handle the link '${path}': ${typeof e === 'object' && e != null && 'message' in e ? e.message : e}`);
|
|
208
243
|
}
|
|
209
244
|
} else {
|
|
210
|
-
|
|
245
|
+
resetRoot(state);
|
|
211
246
|
}
|
|
212
247
|
} else {
|
|
213
|
-
|
|
248
|
+
resetRoot(state);
|
|
214
249
|
}
|
|
215
250
|
} else {
|
|
216
251
|
// if current path didn't return any state, we should revert to initial state
|
|
217
|
-
|
|
252
|
+
resetRoot(state);
|
|
218
253
|
}
|
|
219
254
|
});
|
|
220
255
|
}, [enabled, history, ref, validateRoutesNotExistInRootState]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["findFocusedRoute","getActionFromState","getActionFromStateDefault","getPathFromState","getPathFromStateDefault","getStateFromPath","getStateFromPathDefault","useNavigationIndependentTree","isEqual","React","createMemoryHistory","ServerContext","getRoutesUntilIndex","state","routes","slice","index","getHistoryLength","history","length","findMatchingState","a","b","undefined","key","aHistoryLength","bHistoryLength","aRoute","bRoute","aChildState","bChildState","isPoppingLastEntry","current","record","currentRoutes","recordRoutes","every","route","i","series","cb","queue","Promise","resolve","callback","then","linkingHandlers","useLinking","ref","enabled","config","independent","useEffect","process","env","NODE_ENV","console","error","join","trim","handler","Symbol","push","indexOf","splice","useState","enabledRef","useRef","configRef","getStateFromPathRef","getPathFromStateRef","getActionFromStateRef","validateRoutesNotExistInRootState","useCallback","navigation","rootState","getRootState","some","r","routeNames","includes","name","server","useContext","getInitialState","value","location","window","path","pathname","search","e","thenable","onfulfilled","catch","previousIndexRef","previousStateRef","pendingPopStatePathRef","listen","previousIndex","get","currentState","currentFocused","recordFocused","goBack","resetRoot","action","dispatch","warn","message","getPathForRoute","stateForPath","focusedRoute","params","previousRoute","hash","replace","onStateChange","previousState","pendingPath","previousFocusedState","focusedState","historyDelta","nextIndex","backIndex","currentIndex","go","addListener"],"sourceRoot":"../../src","sources":["useLinking.tsx"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["CommonActions","findFocusedRoute","getActionFromState","getActionFromStateDefault","getPathFromState","getPathFromStateDefault","getStateFromPath","getStateFromPathDefault","useNavigationIndependentTree","isEqual","React","createMemoryHistory","ServerContext","getRoutesUntilIndex","state","routes","slice","index","getHistoryLength","history","length","findMatchingState","a","b","undefined","key","aHistoryLength","bHistoryLength","aRoute","bRoute","aChildState","bChildState","isPoppingLastEntry","current","record","currentRoutes","recordRoutes","every","route","i","series","cb","queue","Promise","resolve","callback","then","linkingHandlers","useLinking","ref","enabled","config","independent","useEffect","process","env","NODE_ENV","console","error","join","trim","handler","Symbol","push","indexOf","splice","useState","enabledRef","useRef","configRef","getStateFromPathRef","getPathFromStateRef","getActionFromStateRef","validateRoutesNotExistInRootState","useCallback","navigation","rootState","getRootState","some","r","routeNames","includes","name","server","useContext","getInitialState","value","location","window","path","pathname","search","e","thenable","onfulfilled","catch","previousIndexRef","previousStateRef","pendingPopStatePathRef","listen","previousIndex","rollbackHistory","delta","go","rollbackHistoryIfPrevented","beforeRemovePrevented","unsubscribe","addListener","data","type","defaultPrevented","dispatch","action","resetRoot","get","currentState","currentFocused","recordFocused","goBack","warn","message","getPathForRoute","stateForPath","focusedRoute","params","previousRoute","hash","replace","onStateChange","previousState","pendingPath","previousFocusedState","focusedState","historyDelta","nextIndex","backIndex","currentIndex"],"sourceRoot":"../../src","sources":["useLinking.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -6,21 +6,6 @@ export declare function useBuildHref(): (name: string, params?: object) => strin
|
|
|
6
6
|
* Helper to build a navigation action from a href based on the linking options.
|
|
7
7
|
*/
|
|
8
8
|
export declare const useBuildAction: () => (href: string) => {
|
|
9
|
-
type: "NAVIGATE";
|
|
10
|
-
payload: {
|
|
11
|
-
name: string;
|
|
12
|
-
params?: import("@react-navigation/core").NavigatorScreenParams<Readonly<{
|
|
13
|
-
key: string;
|
|
14
|
-
index: number;
|
|
15
|
-
routeNames: string[];
|
|
16
|
-
history?: unknown[];
|
|
17
|
-
routes: import("@react-navigation/routers").NavigationRoute<import("@react-navigation/routers").ParamListBase, string>[];
|
|
18
|
-
type: string;
|
|
19
|
-
stale: false;
|
|
20
|
-
}>>;
|
|
21
|
-
path?: string;
|
|
22
|
-
};
|
|
23
|
-
} | {
|
|
24
9
|
type: "GO_BACK";
|
|
25
10
|
source?: string;
|
|
26
11
|
target?: string;
|
|
@@ -66,6 +51,21 @@ export declare const useBuildAction: () => (href: string) => {
|
|
|
66
51
|
};
|
|
67
52
|
source?: string;
|
|
68
53
|
target?: string;
|
|
54
|
+
} | {
|
|
55
|
+
type: "NAVIGATE";
|
|
56
|
+
payload: {
|
|
57
|
+
name: string;
|
|
58
|
+
params?: import("@react-navigation/core").NavigatorScreenParams<Readonly<{
|
|
59
|
+
key: string;
|
|
60
|
+
index: number;
|
|
61
|
+
routeNames: string[];
|
|
62
|
+
history?: unknown[];
|
|
63
|
+
routes: import("@react-navigation/routers").NavigationRoute<import("@react-navigation/routers").ParamListBase, string>[];
|
|
64
|
+
type: string;
|
|
65
|
+
stale: false;
|
|
66
|
+
}>>;
|
|
67
|
+
path?: string;
|
|
68
|
+
};
|
|
69
69
|
} | {
|
|
70
70
|
readonly type: "RESET";
|
|
71
71
|
readonly payload: (Readonly<{
|
|
@@ -104,21 +104,6 @@ export declare const useBuildAction: () => (href: string) => {
|
|
|
104
104
|
export declare function useLinkBuilder(): {
|
|
105
105
|
buildHref: (name: string, params?: object) => string | undefined;
|
|
106
106
|
buildAction: (href: string) => {
|
|
107
|
-
type: "NAVIGATE";
|
|
108
|
-
payload: {
|
|
109
|
-
name: string;
|
|
110
|
-
params?: import("@react-navigation/core").NavigatorScreenParams<Readonly<{
|
|
111
|
-
key: string;
|
|
112
|
-
index: number;
|
|
113
|
-
routeNames: string[];
|
|
114
|
-
history?: unknown[];
|
|
115
|
-
routes: import("@react-navigation/routers").NavigationRoute<import("@react-navigation/routers").ParamListBase, string>[];
|
|
116
|
-
type: string;
|
|
117
|
-
stale: false;
|
|
118
|
-
}>>;
|
|
119
|
-
path?: string;
|
|
120
|
-
};
|
|
121
|
-
} | {
|
|
122
107
|
type: "GO_BACK";
|
|
123
108
|
source?: string;
|
|
124
109
|
target?: string;
|
|
@@ -164,6 +149,21 @@ export declare function useLinkBuilder(): {
|
|
|
164
149
|
};
|
|
165
150
|
source?: string;
|
|
166
151
|
target?: string;
|
|
152
|
+
} | {
|
|
153
|
+
type: "NAVIGATE";
|
|
154
|
+
payload: {
|
|
155
|
+
name: string;
|
|
156
|
+
params?: import("@react-navigation/core").NavigatorScreenParams<Readonly<{
|
|
157
|
+
key: string;
|
|
158
|
+
index: number;
|
|
159
|
+
routeNames: string[];
|
|
160
|
+
history?: unknown[];
|
|
161
|
+
routes: import("@react-navigation/routers").NavigationRoute<import("@react-navigation/routers").ParamListBase, string>[];
|
|
162
|
+
type: string;
|
|
163
|
+
stale: false;
|
|
164
|
+
}>>;
|
|
165
|
+
path?: string;
|
|
166
|
+
};
|
|
167
167
|
} | {
|
|
168
168
|
readonly type: "RESET";
|
|
169
169
|
readonly payload: (Readonly<{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useLinkBuilder.d.ts","sourceRoot":"","sources":["../../../src/useLinkBuilder.tsx"],"names":[],"mappings":"AAkBA;;GAEG;AACH,wBAAgB,YAAY,WAWjB,MAAM,WAAW,MAAM,wBAmEjC;AAED;;GAEG;AACH,eAAO,MAAM,cAAc,eAQhB,MAAM
|
|
1
|
+
{"version":3,"file":"useLinkBuilder.d.ts","sourceRoot":"","sources":["../../../src/useLinkBuilder.tsx"],"names":[],"mappings":"AAkBA;;GAEG;AACH,wBAAgB,YAAY,WAWjB,MAAM,WAAW,MAAM,wBAmEjC;AAED;;GAEG;AACH,eAAO,MAAM,cAAc,eAQhB,MAAM;;;;;;;;cA7FP,CAAC;YAAsB,CAAC;aAAuB,CAAC;WAEnD,CAAC;;;;;;;;cAIwB,CAAC;aAE/B,CAAF;;;;;;;cAOe,CAAA;;;;;;;cAKgD,CAAC;;;;;;;;cAIxD,CAAH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwFJ,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,cAAc;sBA1GnB,MAAM,WAAW,MAAM;wBAgFvB,MAAM;;;;;;;;kBA7FP,CAAC;gBAAsB,CAAC;iBAAuB,CAAC;eAEnD,CAAC;;;;;;;;kBAIwB,CAAC;iBAE/B,CAAF;;;;;;;kBAOe,CAAA;;;;;;;kBAKgD,CAAC;;;;;;;;kBAIxD,CAAH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAuGJ"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useLinking.d.ts","sourceRoot":"","sources":["../../../src/useLinking.tsx"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"useLinking.d.ts","sourceRoot":"","sources":["../../../src/useLinking.tsx"],"names":[],"mappings":"AAAA,OAAO,EAKL,gBAAgB,IAAI,uBAAuB,EAC3C,KAAK,sBAAsB,EAE3B,KAAK,aAAa,EAEnB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAS,CAAC;AAE9C,KAAK,WAAW,GAAG,UAAU,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAuE9D;;GAEG;AACH,eAAO,MAAM,MAAM,GAAI,IAAI,MAAM,OAAO,CAAC,IAAI,CAAC,eAO7C,CAAC;AAIF,KAAK,OAAO,GAAG,cAAc,CAAC,aAAa,CAAC,CAAC;AAE7C,wBAAgB,UAAU,CACxB,GAAG,EAAE,KAAK,CAAC,SAAS,CAAC,sBAAsB,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,EAClE,EACE,OAAc,EACd,MAAM,EACN,gBAA0C,EAC1C,gBAA0C,EAC1C,kBAA8C,GAC/C,EAAE,OAAO;2BAsGW,WAAW,CAAC,WAAW,GAAG,SAAS,CAAC;EAgV1D"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@react-navigation/native",
|
|
3
3
|
"description": "React Native integration for React Navigation",
|
|
4
|
-
"version": "7.3.
|
|
4
|
+
"version": "7.3.2",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"react-native",
|
|
7
7
|
"react-navigation",
|
|
@@ -42,7 +42,7 @@
|
|
|
42
42
|
"clean": "del lib"
|
|
43
43
|
},
|
|
44
44
|
"dependencies": {
|
|
45
|
-
"@react-navigation/core": "^7.
|
|
45
|
+
"@react-navigation/core": "^7.21.0",
|
|
46
46
|
"escape-string-regexp": "^4.0.0",
|
|
47
47
|
"fast-deep-equal": "^3.1.3",
|
|
48
48
|
"nanoid": "^3.3.11",
|
|
@@ -84,5 +84,5 @@
|
|
|
84
84
|
]
|
|
85
85
|
]
|
|
86
86
|
},
|
|
87
|
-
"gitHead": "
|
|
87
|
+
"gitHead": "c9ddec7335ac6c6009d005a81ea019e9027c2bee"
|
|
88
88
|
}
|
package/src/useLinking.tsx
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import {
|
|
2
|
+
CommonActions,
|
|
2
3
|
findFocusedRoute,
|
|
3
4
|
getActionFromState as getActionFromStateDefault,
|
|
4
5
|
getPathFromState as getPathFromStateDefault,
|
|
@@ -240,6 +241,57 @@ export function useLinking(
|
|
|
240
241
|
previousIndexRef.current = index;
|
|
241
242
|
pendingPopStatePathRef.current = path;
|
|
242
243
|
|
|
244
|
+
const rollbackHistory = () => {
|
|
245
|
+
const delta = previousIndex - index;
|
|
246
|
+
|
|
247
|
+
if (delta === 0) {
|
|
248
|
+
return;
|
|
249
|
+
}
|
|
250
|
+
|
|
251
|
+
pendingPopStatePathRef.current = undefined;
|
|
252
|
+
|
|
253
|
+
// eslint-disable-next-line promise/always-return
|
|
254
|
+
history.go(delta)?.then(() => {
|
|
255
|
+
previousIndexRef.current = history.index;
|
|
256
|
+
});
|
|
257
|
+
};
|
|
258
|
+
|
|
259
|
+
const rollbackHistoryIfPrevented = (callback: () => void) => {
|
|
260
|
+
let beforeRemovePrevented = false;
|
|
261
|
+
|
|
262
|
+
const state = navigation.getRootState();
|
|
263
|
+
|
|
264
|
+
const unsubscribe = navigation.addListener('__unsafe_event__', (e) => {
|
|
265
|
+
if (
|
|
266
|
+
e.data.type === 'beforeRemove' &&
|
|
267
|
+
e.data.defaultPrevented === true
|
|
268
|
+
) {
|
|
269
|
+
beforeRemovePrevented = true;
|
|
270
|
+
}
|
|
271
|
+
});
|
|
272
|
+
|
|
273
|
+
try {
|
|
274
|
+
callback();
|
|
275
|
+
} finally {
|
|
276
|
+
unsubscribe();
|
|
277
|
+
}
|
|
278
|
+
|
|
279
|
+
if (
|
|
280
|
+
beforeRemovePrevented &&
|
|
281
|
+
isEqual(navigation.getRootState(), state)
|
|
282
|
+
) {
|
|
283
|
+
rollbackHistory();
|
|
284
|
+
}
|
|
285
|
+
};
|
|
286
|
+
|
|
287
|
+
const dispatch = (action: Parameters<typeof navigation.dispatch>[0]) => {
|
|
288
|
+
rollbackHistoryIfPrevented(() => navigation.dispatch(action));
|
|
289
|
+
};
|
|
290
|
+
|
|
291
|
+
const resetRoot = (state: Parameters<typeof navigation.resetRoot>[0]) => {
|
|
292
|
+
rollbackHistoryIfPrevented(() => navigation.resetRoot(state));
|
|
293
|
+
};
|
|
294
|
+
|
|
243
295
|
// When browser back/forward is clicked, we first need to check if state object for this index exists
|
|
244
296
|
// If it does we'll reset to that state object
|
|
245
297
|
// Otherwise, we'll handle it like a regular deep link
|
|
@@ -262,9 +314,9 @@ export function useLinking(
|
|
|
262
314
|
// If we detect that the state change is popping the last entry
|
|
263
315
|
// Dispatch a back action instead of resetting to the state
|
|
264
316
|
// This makes sure changes to history state since the entry was added don't get lost
|
|
265
|
-
|
|
317
|
+
dispatch(CommonActions.goBack());
|
|
266
318
|
} else {
|
|
267
|
-
|
|
319
|
+
resetRoot(record.state);
|
|
268
320
|
}
|
|
269
321
|
|
|
270
322
|
return;
|
|
@@ -297,7 +349,7 @@ export function useLinking(
|
|
|
297
349
|
|
|
298
350
|
if (action !== undefined) {
|
|
299
351
|
try {
|
|
300
|
-
|
|
352
|
+
dispatch(action);
|
|
301
353
|
} catch (e) {
|
|
302
354
|
// Ignore any errors from deep linking.
|
|
303
355
|
// This could happen in case of malformed links, navigation object not being initialized etc.
|
|
@@ -310,14 +362,14 @@ export function useLinking(
|
|
|
310
362
|
);
|
|
311
363
|
}
|
|
312
364
|
} else {
|
|
313
|
-
|
|
365
|
+
resetRoot(state);
|
|
314
366
|
}
|
|
315
367
|
} else {
|
|
316
|
-
|
|
368
|
+
resetRoot(state);
|
|
317
369
|
}
|
|
318
370
|
} else {
|
|
319
371
|
// if current path didn't return any state, we should revert to initial state
|
|
320
|
-
|
|
372
|
+
resetRoot(state);
|
|
321
373
|
}
|
|
322
374
|
});
|
|
323
375
|
}, [enabled, history, ref, validateRoutesNotExistInRootState]);
|