Я создаю свое первое приложение Elm и структурирую его в соответствии с этими источниками:
Как я структурирую приложения вяза
Подход NoMap с фокусом домена
Это означает, что я сопоставляю свои Msg
типы из моих основных Types.elm
с моими дочерними функциями Который выглядит так при выполнении простой onClick
функции
onClick (MsgForPieChart <| SelectSlice <| sliceModel.points)
Теперь я хочу получить некоторые данные по init для просмотра.
Я пытался следовать тому же подходу, что и для простой onClick
функции
getWarAndPeace : Cmd Msg
getWarAndPeace =
Http.send (MsgForMuseums <| FetchedMuseums) <|
Http.getString "https://example.com/books/war-and-peace.md"
Где мой основной тип выглядит так:
type Msg
= MsgForPieChart Atom.PieChart.Types.Msg
| MsgForMuseums Organism.Museums.Types.Msg
| NoOp
И мой тип дочерней функции выглядит так для http
запросов
type Msg =
FetchedMuseums (Result Http.Error String)
Но что бы я ни пытался, я получаю ошибки типа Http.send
или Task
или любой другой подход, который я пробую
Result Http.Error a -> App.Types.Msg
Но это:
App.Types.Msg
Мои функции обновления имеют следующую структуру:
update : App.Types.Msg -> Organism.Museums.Types.MuseumsModel -> Organism.Museums.Types.MuseumsModel
update msgFor model =
case msgFor of
MsgForMuseums msg ->
updateMuseums msg model
_ ->
model
updateMuseums : Organism.Museums.Types.Msg -> Organism.Museums.Types.MuseumsModel -> Organism.Museums.Types.MuseumsModel
updateMuseums msg model =
case msg of
FetchedMuseums data -> model
Итак, как мне получить http
запросов на инициализацию для моей дочерней функции, которая использует шаблон NoMap для объединения Msg