-
Notifications
You must be signed in to change notification settings - Fork 1
/
notes.txt
30 lines (26 loc) · 1.12 KB
/
notes.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
Kristian Lundström:
Vi valde att inte exponera Page-meddelanden till den yttre Router modulen
(som du gör här https://github.com/perty/elm-navigation-test/blob/master/src/Routing/Router.elm#L43)
utan exponerade istället explicit en function vi kallar `routeInit` som i princip är som en init function
fast den tar också föregående state.
-- Router.elm
updateUrl : Url -> Model -> ( Model, Stomp.Proc.RemoteProcedure Msg )
updateUrl url model =
let
nextRoute =
parseUrl url
nextModel =
{ model | route = nextRoute }
in
case nextRoute of
InboxRoute ->
let
( nextInboxModel, stompProc ) =
Inbox.initRoute model.inboxModel
in
( { nextModel | inboxModel = nextInboxModel }
, Stomp.Proc.map InboxMsg stompProc
)
Vinsten är väl att Router.elm behöver veta lite mindre om de innre modulerna vilket förhoppningvis gör det
lite lättare att resonera kring när koden växer
ps. det lite kryptiska `Stomp.Proc.RemoteProcedure Msg` i kodexemplet är i princip ett specialiserat `Cmd Msg`