我有一个模特:
type Model
= InitialScreen
| ErrorScreen Http.Error
| List NormalRegion
并更新功能:
update : Msg -> a -> ( Model, Cmd msg )
update msg model =
case msg of
FetchFail e ->
( ErrorScreen e, Cmd.none )
ShowRegions dto ->
( GeographiesDecoder.toNormalRegions dto.regions dto.countries, Cmd.none )
HoverRegion r ->
( model, Cmd.none )
其中toNormalRegions是
toNormalRegions : List Region -> List Country -> List NormalRegion
编译器在更新fn时抛出错误:
The 1st and 2nd branches of this `case` produce different types of values. - The 1st branch has this type:
( Model, Cmd msg )
But the 2nd is:
( List NormalRegion, Cmd msg )
有没有办法将List转换为模型?
答案 0 :(得分:1)
您有一个名为Model
的{{1}}类型构造函数,它与内置List
类型冲突。我怀疑你实际上是在尝试使用实际的区域列表,但这并不是由你编码的代码所代表的。
我认为通过定义一个不重叠的构造函数可以更好地服务:
List