БЕЗОПАСНЫЙ шаблон Elmish redux dev tools всегда сообщение "UserMsg"
Я совсем новичок в Elmish. Сделал образец шаблона с помощью dotnet new SAFE
, Когда я открываю приложение и использую инструменты Chrome Extension, я всегда получаю сообщение "UserMsg". Есть ли способ сделать это "Увеличение" или "Уменьшение", когда я нажимаю кнопку "-" или "+"?
0 ответов
Модуль навигации elmish-browser переносит все сообщения в тип Parser, который представляет собой объединение либо Change (для изменения URL), либо UserMsg (для всего остального).
Это разбивает отражение как в withDebugger, так и в withConsoleTrace... они не могут получить имя основного сообщения и, следовательно, отображать упакованное имя вместо этого.
Обходной путь должен вызвать toNavigable после withDebugger в конвейере инициализации программы:
Program.mkProgram init update view
#if DEBUG
|> Program.withConsoleTrace
#endif
|> Program.withReactBatched "elmish-app"
#if DEBUG
|> Program.withDebugger
#endif
|> Program.toNavigable (parseHash route) urlUpdate
|> Program.run
Однако при этом сообщения "Изменить" больше не отправляются в отладчик. Это может быть проблемой, если ваша функция urlUpdate напрямую обновляет состояние модели. Для вашей функции urlUpdate может быть лучше вызвать новую команду с сообщением, которое будет обработано основной функцией обновления.