UNPKG

one

Version:

One is a React framework for web, iOS, and Android apps.

44 lines (41 loc) • 1.6 kB
import { useNavigationContainerRef } from "@react-navigation/core"; import { resetLoaderState } from "../useLoader.native.js"; import * as routerStore from "./router.native.js"; import { initialize } from "./router.native.js"; import { ensureBaseLinkingConfig, getSSRInitialState } from "./linkingConfig.native.js"; var initVersion = 0; var lastInitVersion = -1; var ssrRouteTreeContext = null; function useInitializeOneRouter(context, initialLocation, linking) { var navigationRef = useNavigationContainerRef(); if (typeof window === "undefined") { if (ssrRouteTreeContext !== context) { initialize(context, navigationRef, initialLocation, linking); ssrRouteTreeContext = context; ensureBaseLinkingConfig(routerStore.routeNode, linking); } var initialState = initialLocation ? getSSRInitialState(routerStore.routeNode, initialLocation, linking) : routerStore.initialState; return { rootComponent: routerStore.rootComponent, navigationRef, initialState }; } if (lastInitVersion !== initVersion || routerStore.navigationRef !== navigationRef) { var contexts = "__react_navigation__elements_contexts"; globalThis[contexts] = /* @__PURE__ */ new Map(); initialize(context, navigationRef, initialLocation, linking); lastInitVersion = initVersion; } return routerStore; } function prepareForSSRRender() { initVersion++; } function resetState() { prepareForSSRRender(); resetLoaderState(); } globalThis["__vxrnresetState"] = resetState; export { prepareForSSRRender, resetState, useInitializeOneRouter }; //# sourceMappingURL=useInitializeOneRouter.native.js.map