elm-tutorial
elm-tutorial copied to clipboard
Routing chapter does not compile
In the View section,
the function page
causes a type mismatch
page : Model -> Html Msg
page model =
case model.route of
Models.PlayersRoute ->
Players.List.view model.players
Models.PlayerRoute id ->
playerEditPage model id
Models.NotFoundRoute ->
notFoundView
where model.players is webData (List Player)
but Players.List.view
expects List Player
as its argument.
My Solution was the following:
page : Model -> Html Msg
page model =
case model.route of
Models.PlayersRoute ->
playersViewPage model.players
Models.PlayerRoute playerId ->
playerEditPage model playerId
Models.NotFoundRoute ->
notFoundView
playersViewPage : WebData (List Player) -> Html Msg
playersViewPage playersResponse =
case playersResponse of
RemoteData.NotAsked ->
text ""
RemoteData.Loading ->
text "Loading ..."
RemoteData.Success playerList ->
Players.List.view playerList
RemoteData.Failure err ->
text (toString err)
In https://www.elm-tutorial.org/en/06-fetching-resources/06-views.html the List.view function was changed to handle this. Did you maybe miss this step?