What is the Segment type used in FlightRouterState?
Unanswered
Dwarf Crocodile posted this in #help-forum
Dwarf CrocodileOP
export type FlightRouterState = [
segment: Segment,
parallelRoutes: { [parallelRouterKey: string]: FlightRouterState },
url?: string | null,
/**
* "refresh" and "refetch", despite being similarly named, have different
* semantics:
* - "refetch" is used during a request to inform the server where rendering
* should start from.
*
* - "refresh" is used by the client to mark that a segment should re-fetch the
* data from the server for the current segment. It uses the "url" property
* above to determine where to fetch from.
*
* - "inside-shared-layout" is used during a prefetch request to inform the
* server that even if the segment matches, it should be treated as if it's
* within the "new" part of a navigation — inside the shared layout. If
* the segment doesn't match, then it has no effect, since it would be
* treated as new regardless. If it does match, though, the server does not
* need to render it, because the client already has it.
*
* A bit confusing, but that's because it has only one extremely narrow use
* case — during a non-PPR prefetch, the server uses it to find the first
* loading boundary beneath a shared layout.
*
* TODO: We should rethink the protocol for dynamic requests. It might not
* make sense for the client to send a FlightRouterState, since this type is
* overloaded with concerns.
*/
refresh?: 'refetch' | 'refresh' | 'inside-shared-layout' | null,
isRootLayout?: boolean,
/**
* Only present when responding to a tree prefetch request. Indicates whether
* there is a loading boundary somewhere in the tree. The client cache uses
* this to determine if it can skip the data prefetch request.
*/
hasLoadingBoundary?: HasLoadingBoundary,
]
const segmentSchema = s.union([
s.string(),
s.tuple([s.string(), s.string(), dynamicParamTypesSchema]),
])
export type Segment = s.Infer<typeof segmentSchema>
1 Reply
Dwarf CrocodileOP
Also I'm having trouble understanding what the walkTreeWithFlightRouterState thing actually does.
Im guessing it walks the filesystem tree to get to the route specified
But I stilll cant find the part where it interacts with the file system
Im guessing it walks the filesystem tree to get to the route specified
But I stilll cant find the part where it interacts with the file system