one
Version:
One is a new React Framework that makes Vite serve both native and web.
42 lines (41 loc) • 1.55 kB
JavaScript
import { useNavigationContainerRef } from "@react-navigation/native";
import { resetLoaderState } from "../useLoader.native.js";
import * as routerStore from "./router.native.js";
import { initialize } from "./router.native.js";
import { getSSRInitialState, ensureBaseLinkingConfig } from "./linkingConfig.native.js";
var initVersion = 0;
var lastInitVersion = -1;
var ssrRouteTreeInitialized = false;
function useInitializeOneRouter(context, initialLocation) {
var navigationRef = useNavigationContainerRef();
if (typeof window === "undefined") {
if (!ssrRouteTreeInitialized) {
initialize(context, navigationRef, initialLocation);
ssrRouteTreeInitialized = true;
ensureBaseLinkingConfig(routerStore.routeNode);
}
var initialState = initialLocation ? getSSRInitialState(routerStore.routeNode, initialLocation) : routerStore.initialState;
return {
rootComponent: routerStore.rootComponent,
navigationRef,
initialState
};
}
if (lastInitVersion !== initVersion) {
var contexts = "__react_navigation__elements_contexts";
globalThis[contexts] = /* @__PURE__ */new Map();
initialize(context, navigationRef, initialLocation);
lastInitVersion = initVersion;
}
return routerStore;
}
function prepareForSSRRender() {
initVersion++;
}
function resetState() {
prepareForSSRRender();
resetLoaderState();
}
globalThis["__vxrnresetState"] = resetState;
export { prepareForSSRRender, resetState, useInitializeOneRouter };
//# sourceMappingURL=useInitializeOneRouter.native.js.map