5
elm-lang tutorial에서 간단한 앱을 수정하여 모델을 먼저 업데이트 한 다음 다른 업데이트를 실행하려고합니다.Elm - 메시지 메시지로 메시지 바꾸기
The 3rd branch has this type:
({ gifUrl : String, topic : String }, Cmd Msg)
But the 4th is:
({ gifUrl : String, topic : String }, Msg)
그래서 내 메시지가 Cmd를 입력 메시지 있어야 다음 NewTopic 지점이 있기 때문에
update msg model =
case msg of
MorePlease ->
(model, getRandomGif model.topic)
NewGif (Ok newUrl) ->
({ model | gifUrl = newUrl }, Cmd.none)
NewGif (Err _) ->
(model, Cmd.none)
-- my addition
NewTopic newTopic ->
({ model | topic = newTopic}, MorePlease)
이 컴파일러에 실패합니다. 나는 Cmd를 메시지로 "내 메시지를 켤 수있는 방법
참고 : 나는이 변화를 만들 수있는 간단한 방법이 인식하지만 느릅 나무를 이해하기 위해 노력하고있어 더 근본적으로
고맙습니다. 이 방법으로 문제를 해결할 수 있습니다. 나는 여전히 "메시지"를 "Cmd Msg"에 "캐스팅"해야 할까? 내가 어떻게하면? – steel
예 : –
으로 답변을 업데이트했습니다. @ChadGilbert : 새로운'Msg'를 발사하여 두 번째 접근법을 권장하지 않는 이유를 좀 더 자세히 설명해 주시겠습니까? – DanEEStar