This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2022-12-09
Channels
- # adventofcode (93)
- # announcements (11)
- # babashka (7)
- # babashka-sci-dev (17)
- # beginners (73)
- # biff (7)
- # calva (3)
- # cider (1)
- # clj-kondo (160)
- # clj-together (12)
- # clojure (44)
- # clojure-art (2)
- # clojure-europe (12)
- # clojure-losangeles (1)
- # clojure-nl (3)
- # clojure-norway (22)
- # clojure-uk (2)
- # clojurescript (8)
- # clr (1)
- # cursive (6)
- # data-science (1)
- # datomic (1)
- # emacs (6)
- # events (1)
- # exercism (1)
- # fulcro (6)
- # graphql (2)
- # introduce-yourself (1)
- # lsp (18)
- # nrepl (7)
- # off-topic (45)
- # polylith (25)
- # portal (25)
- # practicalli (3)
- # re-frame (14)
- # reagent (28)
- # reitit (2)
- # releases (2)
- # shadow-cljs (73)
- # sql (11)
- # tools-deps (12)
- # transit (4)
- # xtdb (4)
👋 Coming from react/react-router/remix land, I was searching for a way to do nested routes/views and if there is an Outlet (Remix) or Slot (Sveltekit) component where child routes/views would be rendered. I found some discussion here and this gist: https://gist.github.com/Deraen/4038244e3cb47d9dcb6b6e59d9e1b96a Seems good enough for me, but wanted to check quickly if that's still the way to go?
I have ended up to use names for child routes, but it’s handled all in the single root view.
["/:name"
{:view app-details/view
:parameters {:path {:name string?}}}
["" {:name :routes/app->details}]
["/metrics" {:name :routes/app->metrics
:parameters {:query {(ds/opt :period) string?}}}]
["/deployments"
["" {:name :routes/app->deployments}]
["/:id" {:name :routes/app->deployments->details
:parameters {:path {:id integer?}}}]]
["/resources" {:name :routes/app->resources}]
["/settings" {:name :routes/app->settings}]]
Then in app-details/view
(case active-route
:routes/app->metrics [metrics-tab view-state]
(:routes/app->deployments :routes/app->deployments->details) [deployments-tab view-state]
:routes/app->resources [resources-tab view-state]
:routes/app->settings [settings-tab view-state])