Liking cljdoc? Tell your friends :D

Frontend basics

Reitit frontend integration is built from multiple layers:

  • Core functions with some additional browser oriented features
  • Browser integration for attaching Reitit to hash-change or HTML history events
  • Stateful wrapper for easy use of history integration
  • Optional controller extension

You likely won't use reitit.frontend directly in your apps and instead you will use the API documented in the browser integration docs, which wraps these lower level functions.

Core functions

reitit.frontend provides some useful functions wrapping core functions:

match-by-path version which parses a URI using JavaScript, including query-string, and also coerces the parameters. Coerced parameters are stored in match :parameters property. If coercion is not enabled, the original parameters are stored in the same property, to allow the same code to read parameters regardless if coercion is enabled.

router which compiles coercers by default.

match-by-name and match-by-name! with optional path-paramers and logging errors to console.warn instead of throwing errors to prevent React breaking due to errors. These can also encode query-parameters using schema from match data.

Browser integration

Can you improve this documentation? These fine people already did:
Juho Teperi, Tommi Reiman & Pertti Kellomäki
Edit on GitHub

cljdoc is a website building & hosting documentation for Clojure/Script libraries

× close