How to update nested Records?
Not best practice: Create an opaque type instead.
type alias Movie =
{ title : String
, rating : Int
}
type alias Model =
{ currentMovie : Movie
}
rate : Int -> Model -> Model
rate newRating model =
{ model
| currentMovie =
--{ model.currentMovie | rating = newRating }
Debug.todo "the line above does not compile"
}type alias Movie =
{ title : String
, rating : Int
}
type alias Model =
{ currentMovie : Movie
}
rate : Int -> Model -> Model
rate newRating ({currentMovie} as model) =
{ model
| currentMovie =
{currentMovie | rating = newRating }
}This is the a better solution
Question
How can I update a nested record field?
Answer
First get the nested record, then update it:
Further reading
πArticle: Updating nested records in Elm by Wouter In t Velt
Last updated
Was this helpful?