mirror of
https://github.com/zhigang1992/react-navigation.git
synced 2026-02-10 22:47:02 +08:00
17 lines
525 B
JavaScript
17 lines
525 B
JavaScript
export default function getChildrenNavigationCache(navigation) {
|
|
if (!navigation) {
|
|
return {};
|
|
}
|
|
|
|
let childrenNavigationCache =
|
|
navigation._childrenNavigation || (navigation._childrenNavigation = {});
|
|
let childKeys = navigation.state.routes.map(route => route.key);
|
|
Object.keys(childrenNavigationCache).forEach(cacheKey => {
|
|
if (!childKeys.includes(cacheKey) && !navigation.state.isTransitioning) {
|
|
delete childrenNavigationCache[cacheKey];
|
|
}
|
|
});
|
|
|
|
return navigation._childrenNavigation;
|
|
}
|