Skip to main content
Partas

Solid/Router

important

Ensure your dependencies include @solidjs/router.

Ensure you open the Partas.Solid.Router namespace.

Route

type Route() = interface HtmlElement
val path: string
val component': TagValue
val matchFilters: obj
val preload: RoutePreloadFunc

RoutePreloadFunc

type RoutePreloadFunc = RoutePreloadFuncArgs -> unit

RoutePreloadFuncArgs

type RoutePreloadFuncArgs = interface
member ``params``: obj
member location: Location
member intent: Intent

Intent

type Intent

StringEnum with values:

| Initial
| Native
| Navigate
| Preload

Location

type Location = inherit Path
member query: obj
member state: obj option
member key: string

Path

type Path = interface
member pathname: string
member search: string
member hash: string

Router

type Router() = interface HtmlElement
val root: TagValue
val base': string
val actionBase: string
val preload: bool
val explicitLinks: bool
val url: string
val children: Route
val children: RootConfig[]

See Route and also see RootConfig

RootConfig

[<Pojo>]
type RootConfig (
path: string,
``component``: HtmlElement
)

HashRouter

type HashRouter = Router

See Router


PreloadData

[<Pojo>]
type PreloadData (preloadData: bool)

A

type A() = interface RegularNode
val href: string
val noScroll: bool
val replace: bool
val state: obj
val activeClass: string
val inactiveClass: string
val end': bool

type Navigate() = interface RegularNode
val href: string
val state: obj

useNavigate

let useNavigate(): Navigator

See Navigator

type Navigator = interface
member Invoke: (``to``: string) * (?options: NavigateOptions) -> unit

See the InvokeOptions signature below to see the construction parameters for the NavigateOptions Pojo.

member InvokeOptions:
``to``: string *
?resolve: bool *
?replace: bool *
?scroll: bool *
?state: obj
-> unit
warning

This will replace Invoke in an upcoming update, as it is a superior user experience to consume.

member Invoke: delta: float -> unit

useLocation

let useLocation(): Location

See Location


useIsRouting

let useIsRouting(): unit -> bool

useMatch

let useMatch(
fn: unit -> string,
?matchFilters: obj
): unit -> bool

useParams

let useParams(): obj

useBeforeLeave

let useBeforeLeave(listener: BeforeLeaveEventArgs -> unit): unit

See BeforeLeaveEventArgs

BeforeLeaveEventArgs

type BeforeLeaveEventArgs = interface
member from: Location

See Location

member ``to``: U2<string, float>
member options: NavigateOptions option

See Navigator

member defaultPrevented: bool
member preventDefault: unit -> unit
member retry: ?force: bool -> unit

useCurrentMatches

let useCurrentMatches(): unit -> RouteMatch[]

See RouteMatch

RouteMatch

type RouteMatch = inherit PathMatch
member route: RouteDescription

See RouteDescription

PathMatch

type PathMatch = interface
member ``params``: obj
member path: string

RouteDescription

type RouteDescription = interface
member key: obj
member originalPath: string
member pattern: string
member preload: RoutePreloadFunc option

See RoutePreloadFunc

member matcher: string -> PathMatch option

See PathMatch

member matchFilters: obj option
member info: obj option

usePreloadRoute

let usePreloadRoute(): (string -> PreloadData) -> unit

See PreloadData


useSearchParams

let useSearchParams(): Signal<obj>

See Signal<'T>

Last updated: 7/9/25, 7:54 PM

PartasBuilt using the Partas.SolidStart SolidBase template
Community
githubdiscord